 |
|
Проблема с LoadBitmap - не грузит картинку
Вот код:
Код:
BOOL InitTreeViewImageLists(HWND hwndTV)
{
HIMAGELIST himl; // handle to image list
HBITMAP hbmp; // handle to bitmap
// Create the image list.
if ((himl = ImageList_Create(14,
14,
FALSE,
3, 0)) == NULL)
return FALSE;
// Add the open file, closed file, and document bitmaps.
hbmp = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP2));
g_nOpen = ImageList_Add(himl, hbmp, (HBITMAP)NULL);
DeleteObject(hbmp);
hbmp = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP2));
g_nClosed = ImageList_Add(himl, hbmp, (HBITMAP)NULL);
DeleteObject(hbmp);
hbmp = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP2));
g_nDocument = ImageList_Add(himl, hbmp, (HBITMAP)NULL);
DeleteObject(hbmp);
// Fail if not all of the images were added.
if (ImageList_GetImageCount(himl) < 3)
return FALSE;
// Associate the image list with the tree-view control.
TreeView_SetImageList(hwndTV, himl, TVSIL_NORMAL);
return TRUE;
}
Во всех случаях hbmp равен 0x00000000, тоесть LoadBitmap не отработал. В чем проблема?
|
Цитата:
An application can use the LoadBitmap function to access predefined bitmaps. To do so, the application must set the hInstance parameter to NULL and the lpBitmapName parameter to one of the following values.
|
ИМХО GetModuleHandle надо сделать
|
crashtuak, он не знает откуда брать картинку, IDB_BITMAP2 не определён (по крайне мере в приведённой части кода). В примере в MSDN, где схожий код, сказано
Цитата:
Цитата Using Tree-View Controls -> Initializing the Image List
// IDB_OPEN_FILE, IDB_CLOSED_FILE, IDB_DOCUMENT -
// resource identifiers of the bitmaps. >>
|
|
У меня IDB_BITMAP2 в ресурсах есть. Прийду домой, опишу всё подробно.
|
Блин, либо я тупой, либо у меня комп глюкнутый. С ресурсов подгрузить картинку так и не получилось. Зато вышло вот так, из файла(мне так в принципе и удобнее):
Код:
hbmp = (HBITMAP)LoadImage(NULL, L"E:\\IDB_BITMAP1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
И что странно, раньше и так не работало, а сегодня вдруг все заработало... Мистика... Буду морочиться с ресурсами, почему то же не грузит. Может подскажите что нибудь, где описана работа с ресурсами?
|
crashtuak, а
Код:
hbmp = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP2));
так и не заработал?
|
pva, небыло времени, но должно заработать, я MSDN внимательнее прочитал:-).
|
pva, заработало, я просто GetModuleHandle(NULL) не использовал, и в том то была проблема, как ты и говорил:)
|
Время: 02:44.
© OSzone.net 2001-