QQ登录

只需一步,快速开始

上位机MFC如何在列表控件中插入行

[ 复制链接 ]
列表框作为报表使用,首先是插入列,然后是插入内容,也就是插入行。
如何插入行?
我们这里假设工程内已添加一列表框控件,并关联了变量CListCtrl        m_ctrlList;
那么我们可以在程序初始化时,调用下面代码添加列,行,查看效果。
关键点是列表框属性要是LVS_REPORT,可以使用函数InsertColumn,InsertItem插入列行。
  1. void CDemoDlg::InitList()
  2. {
  3.         //设置列表控件的报表显示方式
  4.         m_ctrlList.ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_LIST, LVS_REPORT);

  5.         //在列表控件中插入列
  6.         for (int n = 0; n < 4; n++)
  7.         {
  8.                 CString strColumnHeading = _T("");
  9.                 strColumnHeading.Format(_T("Column %d"), n);
  10.                 m_ctrlList.InsertColumn(n, strColumnHeading, LVCFMT_LEFT, 100);
  11.         }

  12.         CString strText = _T("");

  13.         LVITEM lvItem;

  14.         //在列表控件中插入行
  15.         for (int m = 0; m < 10; m++)
  16.         {
  17.                 strText.Format(_T("Item %d"), m);

  18.                 lvItem.mask = LVIF_TEXT;
  19.                 lvItem.iItem = m;
  20.                 lvItem.iSubItem = 0;
  21.                 lvItem.pszText = strText.GetBuffer(strText.GetLength());

  22.                 //插入列表项
  23.                 m_ctrlList.InsertItem(&lvItem);

  24.                 strText.ReleaseBuffer();

  25.                 for (int n = 1; n < 4; n++)
  26.                 {
  27.                         strText.Format(_T("SubItem %d %d"), m, n);

  28.                         lvItem.mask = LVIF_TEXT;
  29.                         lvItem.iItem = m;
  30.                         lvItem.iSubItem = n;
  31.                         lvItem.pszText = strText.GetBuffer(strText.GetLength());

  32.                         m_ctrlList.SetItem(&lvItem);

  33.                         //设置子列表项
  34.                         strText.ReleaseBuffer();
  35.                 }
  36.         }
  37. }
复制代码


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索