Я пытаюсь вставить CImageList
в CToolBar
объект с именем m_wndUtilBar
. Я добавляю все изображения, используя код ниже:
CImageList imageList;
CBitmap bitmap;
COLORREF crMask = RGB(192, 192, 192);
CSize button, button_img;
button.cx = 39;
button.cy = 39;
button_img.cx = 32;
button_img.cy = 32;
m_wndUtilBar.SetSizes(button, button_img);
imageList.Create(button_img.cx, button_img.cy, ILC_COLOR32 | ILC_MASK, 18, 1);
LoadBitmapFromPNG(IDB_PNG_UP, bitmap);
imageList.Add(&bitmap, crMask);
bitmap.Detach();
.
.
. // adding more images into the list
.
И затем я добавляю список в объект, как показано ниже:
m_wndUtilBar.GetToolBarCtrl().SetImageList(&imageList);
imageList.Detach();
Все изображения, которые я использовал, являются ресурсами, включенными в проект, а не как растровые изображения, но как PNG (я говорю это, потому что думаю, что проблема в этом есть).
После запуска приложения все работает нормально. Все изображения отображаются и кнопки работают правильно. Однако, когда я отключаю одну из этих кнопок, изображение этой кнопки отображается как включенное (без этой типичной серой отключенной маски), и я не знаю почему.
Кто-нибудь может мне помочь? Я не знаю, что делать, чтобы применить эффект отключения к изображению отключенной кнопки.
ОБНОВЛЕНИЕ 1
Я вижу, что эффект отключения появляется только на границах изображений, поэтому я полагаю, что эффект применяется, однако этот эффект не применяется внутри PNG.