列表框作为报表使用,首先是插入列,然后是插入内容,也就是插入行。
如何插入行?
我们这里假设工程内已添加一列表框控件,并关联了变量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();
- }
- }
- }
复制代码
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料! 
|