how to add Images to ClistCtrl in mfc

2019-05-19 20:53发布

How to add Images to ClistCtrl in MFC. I tried and found that its little difficult

I used CImagelist to add images and then pass it to ClistCtrl. Can u provide some samples?

m_sentToCListCtrl.InsertColumn(0, _T("Item Name"), LVCFMT_LEFT,nColInterval*3);     
m_sentToCListCtrl.InsertColumn(1, _T("Value"),LVCFMT_LEFT, nColInterval);
m_sentToCListCtrl.InsertColumn(2, _T("Time"), LVCFMT_LEFT, rect.Width()-4*nColInterval);
ListView_SetExtendedListViewStyle(m_sentToCListCtrl.m_hWnd,LVS_EX_CHECKBOXES );

// Create 256 color image lists     
HIMAGELIST hSentToList =ImageList_Create(84,71, ILC_COLOR8 |ILC_MASK , 8, 1);
m_sentToImageList.Attach(hSentToList);

1条回答
时光不老,我们不散
2楼-- · 2019-05-19 21:30

Once you created your image list add some bitmaps there:

m_myImageList.Create(84,71, ILC_COLOR8 |ILC_MASK , 8, 1);

CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
m_myImageList.Add(&bm, RGB(0, 0, 0));
bm.LoadBitmap(IDB_BITMAP2);
m_myImageList.Add(&bm, RGB(0, 0, 0));

Attach it to the CListCtrl:

m_sentToCListCtrl.SetImageList(&m_imageList, LVSIL_SMALL);

Add items to your CListCtrl by InsertItem method:

LVITEM lvItem;
lvItem.iItem = 0;
lvItem.iImage = 0;    // image index that refers to your image list
lvItem.pszText = L"Item 1";
lvItem.mask = LVIF_TEXT;

m_sentToCListCtrl.InsertItem(&lvItem);

For more info refer to CListCtrl documentation. There are examples too.

Good luck!

查看更多
登录 后发表回答