如果我有BITMAP
名为bitmap
,如何将其转换为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
必须有一些简单的,一行的方式来做到这一点,但我找不到它。我可以得到一些帮助吗?
答案 0 :(得分:8)
致电CreateBitmapIndirect
通过BITMAP
。嘿presto,返回HBITMAP
。
对于它的价值,自己寻找答案的好方法是转到描述BITMAP
的MSDN主题。向下滚动到页面底部,然后查看另请参阅部分。使用该类型的最重要的函数将在那里列出,确实CreateBitmapIndirect
就在那里。这总是一种有用的方法,可以找出任何特定的Win32类型可以做什么。