CListCtrl report 实现icon显示示例
时间: 2024-04-11 11:26:33 浏览: 156
CListCtrl实现icon显示示例
5星 · 资源好评率100%
当使用 CListCtrl 控件以 report 样式显示时,可以通过设置图标来实现图标显示。以下是一个示例代码,演示如何在 CListCtrl 的 report 样式中显示图标:
首先,在对话框资源中添加一个 CListCtrl 控件,并设置其样式为 report。
```cpp
// 声明一个 CImageList 对象,用于存储图标
CImageList m_imageList;
```
在对话框类的 OnInitDialog 函数中,初始化图标列表并将其与 CListCtrl 控件关联:
```cpp
BOOL CMyDialog::OnInitDialog()
{
// 先调用父类的函数
CDialog::OnInitDialog();
// 创建图标列表
m_imageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 1);
// 加载图标资源,添加到图标列表中
HICON hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
m_imageList.Add(hIcon);
// 将图标列表与 CListCtrl 控件关联
GetDlgItem(IDC_LIST_CTRL)->SendMessage(LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)m_imageList.GetSafeHandle());
// 在 CListCtrl 控件中添加列
CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_CTRL);
pListCtrl->InsertColumn(0, _T("Name"), LVCFMT_LEFT, 100);
pListCtrl->InsertColumn(1, _T("Description"), LVCFMT_LEFT, 200);
// 添加项到 CListCtrl 控件中
int nItemIndex = pListCtrl->InsertItem(0, _T("Item 1"), 0);
pListCtrl->SetItemText(nItemIndex, 1, _T("Description 1"));
return TRUE;
}
```
这样,你就可以通过在插入项时指定图标索引来显示图标了。在上面的示例中,我们在第一个项中显示了第一个图标。
希望这个示例能够帮助到你!如果你有任何问题,请随时提问。
阅读全文