Здравствуйте, rus blood, Вы писали:
RB>Нужно указать белый цвет, как цвет фона (прозрачный). Кажется image list умеет это делать...
Спасибо за быстрый ответ, К сожалению, выделение по прежнему рисуется неправильно. Может я что не так делаю?
m_hZonesList = GetDlgItem(mWnd, IDC_ZONES_LIST);
m_hImageList = ImageList_Create( 16, 16, ILC_COLOR, 1, 1 );
ImageList_SetBkColor(m_hImageList, RGB(255,255,255));
HBITMAP hBitmap = (HBITMAP)LoadImage(gHINSTANCE, MAKEINTRESOURCE(IDB_CALCREQ_ICO), IMAGE_BITMAP, 0, 0, LR_LOADTRANSPARENT);
ImageList_Add(m_hImageList, hBitmap, 0);
DeleteObject(hBitmap);
hBitmap = (HBITMAP)LoadImage(gHINSTANCE, MAKEINTRESOURCE(IDB_ENABLED_ICO), IMAGE_BITMAP, 0, 0, LR_LOADTRANSPARENT);
ImageList_Add(m_hImageList, hBitmap, 0);
DeleteObject(hBitmap);
hBitmap = (HBITMAP)LoadImage(gHINSTANCE, MAKEINTRESOURCE(IDB_WHITE_ICO), IMAGE_BITMAP, 0, 0, LR_LOADTRANSPARENT);
ImageList_Add(m_hImageList, hBitmap, 0);
DeleteObject(hBitmap);
ListView_SetImageList(m_hZonesList, m_hImageList, LVSIL_SMALL);
Костя.
K>K>m_hZonesList = GetDlgItem(mWnd, IDC_ZONES_LIST);
K> m_hImageList = ImageList_Create( 16, 16, ILC_COLOR, 1, 1 );
K> ImageList_SetBkColor(m_hImageList, RGB(255,255,255));
K>
try instead
m_hImageList.SetBkColor(m_hZonesList.GetBkColor());
?
... << Rsdn@Home 1.1.4 beta 1 >>
Здравствуйте, Valerio, Вы писали:
K>>K>>m_hZonesList = GetDlgItem(mWnd, IDC_ZONES_LIST);
K>> m_hImageList = ImageList_Create( 16, 16, ILC_COLOR, 1, 1 );
V>K> ImageList_SetBkColor(m_hImageList, RGB(255,255,255));
K>>
V>try instead
V>V>m_hImageList.SetBkColor(m_hZonesList.GetBkColor());
V>
V>?
Попрбовал — тоже самое, ListView_GetBkColor(m_hZonesList) возвращает как раз таки RGB(255,255,255)
Может что-то не так с картинкой (у меня это просто белый квадрат), или может надо использовать маску (хотя я это уже пробовал — просто рисует маску белым и все!)
А возможно ли просто удалить картинку? Это бы решило проблемму.
Заранее благодарен,
Костя