CListCtrl Report实现icon显示示例
时间: 2023-12-07 22:04:40 浏览: 158
当使用 CListCtrl 类以 Report 样式显示图标时,可以通过以下步骤来实现:
1. 创建一个 CListCtrl 对象,并设置其样式为 Report。例如:
```cpp
CListCtrl m_ListCtrl;
m_ListCtrl.Create(WS_VISIBLE | WS_CHILD | LVS_REPORT, CRect(10, 10, 400, 300), this, IDC_LISTCTRL);
```
2. 添加列标题。使用 InsertColumn 函数可以添加列标题。例如,以下代码将添加两个列标题:
```cpp
m_ListCtrl.InsertColumn(0, _T("名称"), LVCFMT_LEFT, 120);
m_ListCtrl.InsertColumn(1, _T("图标"), LVCFMT_LEFT, 80);
```
3. 设置图标列表。使用 SetImageList 函数来设置图标列表。这里需要创建一个 CImageList 对象并将其与 List Control 相关联。例如,以下代码创建一个包含两个图标的图标列表,并将其与 List Control 相关联:
```cpp
CImageList m_ImageList;
m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 2, 1);
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_ListCtrl.SetImageList(&m_ImageList, LVSIL_SMALL);
```
4. 添加列表项。使用 InsertItem 函数来添加列表项,并设置该项的文本和图标索引。例如,以下代码将添加两个列表项,并设置它们的文本和图标索引:
```cpp
int nItemIndex = m_ListCtrl.InsertItem(0, _T("Item 1"), 0);
m_ListCtrl.SetItemText(nItemIndex, 1, _T("Icon 1"));
nItemIndex = m_ListCtrl.InsertItem(1, _T("Item 2"), 1);
m_ListCtrl.SetItemText(nItemIndex, 1, _T("Icon 2"));
```
这样,你就可以在 CListCtrl 的 Report 样式中显示图标了。确保图标的大小与创建图标列表时指定的大小相匹配,以获得最佳显示效果。
希望这个示例对你有帮助!如果有任何问题,请随时提问。
阅读全文