将BITMAP转换为HBITMAP

convert BITMAP to HBITMAP

本文关键字:HBITMAP 转换 BITMAP      更新时间:2023-10-16

如果我有一个名为bitmapBITMAP,我如何将其转换为HBITMAP?

到目前为止,我已经试过了:

HBITMAP hbm = (HBITMAP)&bitmap; //doesn't work
HANDLE hand = &bitmap;
HBITMAP hbm = hand; //doesn't work
CImage cim;
cim.Attach(&bitmap);
HBITMAP hbm = cim.Detach(); //definitely doesn't work
CBitmap cbm;
cbm.Attach(bitmap);
CImage cim;
cim.Attach(cbm.Detach());
HBITMAP hbm = cbm.Detach(); //desperate I know, horribly failed

一定有一些简单的,一行的方法来做,但我就是找不到。能帮我一下吗?

呼叫CreateBitmapIndirect通过您的BITMAP。嘿,很快,返回一个HBITMAP

为了它的价值,自己寻找答案的一个好方法是去MSDN主题描述BITMAP。向下滚动到页面底部,查看(参见Also部分)。这里将列出使用该类型的最重要的函数,实际上CreateBitmapIndirect也在这里。这总是一种很有用的方法,可以找出任何特定的Win32类型可以做什么。