4

如果我有一个BITMAPnamed 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

必须有一些简单的,一条线的方法来做到这一点,但我就是找不到。我能得到一些帮助吗?

4

1 回答 1

8

调用CreateBitmapIndirect传递你的BITMAP. 嘿 presto,一个HBITMAP返回。

对于它的价值,自己寻找答案的一个好方法是转到 MSDN 主题描述BITMAP. 向下滚动到页面底部并查看“另请参阅”部分。使用该类型的最重要的函数将在此处列出,并且确实CreateBitmapIndirect存在。这始终是找出任何特定 Win32 类型可以做什么的有用方法。

于 2013-03-07T21:50:37.587 回答