Win32 - Списки изображений в ListView - PullRequest
1 голос
/ 19 апреля 2011

Я пытаюсь добавить изображения в просмотр списка. Я сохранил изображение размером 32x16 и пытаюсь использовать ImageList_Add (), чтобы разделить его на 2 изображения (так как оно должно иметь возможность определять количество изображений по ширине) Элементы добавляются, но без изображений. Когда я нажимаю, там что-то есть, но не изображения и не ожидаемые размеры.

Я использую следующий код:

LVCOLUMN lvc = {0};
lvc.mask     = LVCF_TEXT | LVCF_WIDTH;
lvc.pszText  = _T("Some column header");
lvc.cx       = 150;

HWND hwndListView = GetDlgItem( hwndDlg, IDC_LISTVIEW );
ListView_InsertColumn( hwndListView, 0, &lvc );

HIMAGELIST hImageList = ImageList_Create( 16, 16, ILC_COLOR, 2, 0 );
HBITMAP    hbmBlobs   = ( HBITMAP )LoadImage( ( HINSTANCE )lParam,
  MAKEINTRESOURCE( IDB_BLOBS ), IMAGE_BITMAP, 0, 0, 0 );

ImageList_Add( hImageList, hbmBlobs, NULL );
DeleteObject( hbmBlobs );
ListView_SetImageList( hwndListView, hImageList, LVSIL_SMALL );
ImageList_Destroy( hImageList );

LVITEM lvi = {0};
lvi.mask   = LVIF_IMAGE;
lvi.iImage = 0;
ListView_InsertItem( hwndListView, &lvi );

lvi.iImage = 1;
ListView_InsertItem( hwndListView, &lvi );

Я загрузил скелетный код, который делает минимум для создания ListView и моей попытки отображения изображений. Спасибо за ваше время.

http://localhostr.com/file/adUSZvF/Skeleton.rar

1 Ответ

0 голосов
/ 19 апреля 2011

Вы не можете вызвать ImageList_Destroy в списке изображений! Просмотр списка без стиля LVS_SHAREIMAGELISTS уничтожит список изображений для вас ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...