Cześć, mam sobie menu kontekstowe. Chcę, żeby przy zaznaczaniu menu (menu check) pojawiała się moja bitmapa. Jest to normalne zachowanie WinApi i MFC.
Więc napisałem sobie coś takiego:
HBITMAP hbmpCheck = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_MY_CHECK));
HBITMAP hbmpUncheck = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_MY_UNCHECK));
pContextMenu->AppendMenu(MF_STRING, MENU_CMD_WORK, "Blabla");
SetMenuItemBitmaps(pContextMenu->GetSafeHmenu(), 0, MF_BYPOSITION, hbmpCheck, hbmpUncheck);
pContextMenu->CheckMenuItem(0, MF_BYPOSITION | MF_CHECKED);
Efektem tego kodu jest, że element jest zaznaczony, ale standardowym ptaszkiem. Próbowałem też bezpośrednio z MFC (za pomocą CBitmap), ale efekty są te same. LoadBitmap kończy się powodzeniem. Generalnie wszystko kończy się powodzeniem i hbmpCheck i hbmpUncheck faktycznie są wypełnione poprawnymi wartościami (wiem to, ponieważ są != NULL, są różne niż początkowe wartości, a GetLastError zwraca 0)
Czemu mi to nie chce zadziałać? Czy są jakieś wymagane magiczne parametry, jakie taka bitmapa musi spełnić? Próbowałem z różnymi wariantami, ale niczego nie uzyskałem.