2013-03-07 6 views
3

Если у меня есть BITMAP с именем bitmap, как мне преобразовать это в HBITMAP?конвертировать 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 

Там надо быть какой-то легкий, один линейный способ сделать это, но я просто не могу найти его. Могу ли я получить помощь?

ответ

8

Телефон: CreateBitmapIndirect Передача BITMAP. Hey presto, возвращается HBITMAP.

Для чего это стоит, хороший способ поиска ответа сам по себе - перейти к теме MSDN, описывающей BITMAP. Прокрутите вниз до нижней части страницы и посмотрите на См. Также раздел. Там будут перечислены наиболее важные функции, которые используют этот тип, и действительно есть CreateBitmapIndirect. Это всегда полезный способ узнать, что можно сделать с любым конкретным типом Win32.

Смежные вопросы