工控编程吧
标题:
上位机MFC如何在列表控件中插入行
[打印本页]
作者:
qq263946146
时间:
2019-7-29 12:18
标题:
上位机MFC如何在列表控件中插入行
列表框作为报表使用,首先是插入列,然后是插入内容,也就是插入行。
如何插入行?
我们这里假设工程内已添加一列表框控件,并关联了变量CListCtrl m_ctrlList;
那么我们可以在程序初始化时,调用下面代码添加列,行,查看效果。
关键点是列表框属性要是LVS_REPORT,可以使用函数InsertColumn,InsertItem插入列行。
void CDemoDlg::InitList()
{
//设置列表控件的报表显示方式
m_ctrlList.ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_LIST, LVS_REPORT);
//在列表控件中插入列
for (int n = 0; n < 4; n++)
{
CString strColumnHeading = _T("");
strColumnHeading.Format(_T("Column %d"), n);
m_ctrlList.InsertColumn(n, strColumnHeading, LVCFMT_LEFT, 100);
}
CString strText = _T("");
LVITEM lvItem;
//在列表控件中插入行
for (int m = 0; m < 10; m++)
{
strText.Format(_T("Item %d"), m);
lvItem.mask = LVIF_TEXT;
lvItem.iItem = m;
lvItem.iSubItem = 0;
lvItem.pszText = strText.GetBuffer(strText.GetLength());
//插入列表项
m_ctrlList.InsertItem(&lvItem);
strText.ReleaseBuffer();
for (int n = 1; n < 4; n++)
{
strText.Format(_T("SubItem %d %d"), m, n);
lvItem.mask = LVIF_TEXT;
lvItem.iItem = m;
lvItem.iSubItem = n;
lvItem.pszText = strText.GetBuffer(strText.GetLength());
m_ctrlList.SetItem(&lvItem);
//设置子列表项
strText.ReleaseBuffer();
}
}
}
复制代码
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4