mfc Clistview 设置格式
时间: 2023-07-07 15:25:39 浏览: 112
MFC设置CListBox各行的字体、样式、颜色、行间距,并自动显示隐藏水平滚动条
可以通过以下步骤设置CLISTVIEW控件的显示格式:
1. 打开对话框资源编辑器,选择CLISTVIEW控件。
2. 在属性窗口中,找到Style属性,将其设置为Report。
3. 在属性窗口中,找到FullRowSelect属性,将其设置为True,这样在report模式下,整行都会被选中。
4. 设置列信息,添加列标题和宽度等信息。
5. 在代码中设置行信息,包括行数、文本内容、图标等。
6. 可以使用自定义绘制函数绘制特定的行或单元格。
下面是一个设置CLISTVIEW控件格式的示例代码:
```cpp
// 设置列信息
m_listCtrl.InsertColumn(0, _T("Name"), LVCFMT_LEFT, 100);
m_listCtrl.InsertColumn(1, _T("Age"), LVCFMT_LEFT, 50);
m_listCtrl.InsertColumn(2, _T("Gender"), LVCFMT_LEFT, 50);
// 设置行信息
m_listCtrl.InsertItem(0, _T("John"));
m_listCtrl.SetItemText(0, 1, _T("30"));
m_listCtrl.SetItemText(0, 2, _T("Male"));
m_listCtrl.InsertItem(1, _T("Lisa"));
m_listCtrl.SetItemText(1, 1, _T("25"));
m_listCtrl.SetItemText(1, 2, _T("Female"));
// 自定义绘制函数
void CMyListView::OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)
{
NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>(pNMHDR);
switch (pLVCD->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYITEMDRAW;
break;
case CDDS_ITEMPREPAINT:
if (pLVCD->nmcd.dwItemSpec % 2 == 0)
pLVCD->clrTextBk = RGB(255, 255, 255);
else
pLVCD->clrTextBk = RGB(230, 230, 230);
*pResult = CDRF_NEWFONT;
break;
default:
*pResult = 0;
break;
}
}
```
这个示例代码设置了三列信息,两行数据,使用自定义绘制函数实现了奇偶行背景颜色不同的效果。
阅读全文