工控编程吧

标题: 上位机MFC如何在树控件中插入项 [打印本页]

作者: qq263946146    时间: 2019-7-29 13:19
标题: 上位机MFC如何在树控件中插入项
树状控件 在使用时可以调用函数InsertItem插入项。插入项时,此函数的返回句柄可以作为父句柄再次插入子项。
我们可以新建立一工程,添加树状控件,关联控件变量。
调用下面代码来查看插入项的效果
  1. // TODO: Add extra initialization here
  2.         CString strText = _T("");

  3.         TVINSERTSTRUCT tvInsert;

  4.         tvInsert.hParent = TVI_ROOT;
  5.         tvInsert.hInsertAfter = NULL;
  6.         tvInsert.item.mask = TVIF_TEXT;
  7.         tvInsert.item.pszText = _T("Root");

  8.         //在树控件中插入项
  9.         HTREEITEM hRoot = m_ctrlTree.InsertItem(&tvInsert);

  10.         for (int i = 0; i < 4; i++)
  11.         {
  12.                 strText.Format(_T("Item %d"), i);

  13.                 tvInsert.hParent = hRoot;
  14.                 tvInsert.hInsertAfter = TVI_LAST;
  15.                 tvInsert.item.mask = TVIF_TEXT;
  16.                 tvInsert.item.pszText = strText.GetBuffer(strText.GetLength());

  17.                 //在树控件中插入项
  18.                 HTREEITEM hParent = m_ctrlTree.InsertItem(&tvInsert);

  19.                 strText.ReleaseBuffer();

  20.                 for(int j = 0; j < 5; j++)
  21.                 {
  22.                         strText.Format(_T("SubItem %d %d"), i, j);

  23.                         tvInsert.hParent = hParent;
  24.                         tvInsert.hInsertAfter = TVI_LAST;
  25.                         tvInsert.item.mask = TVIF_TEXT;
  26.                         tvInsert.item.pszText = strText.GetBuffer(strText.GetLength());

  27.                         //在树控件中插入项
  28.                         HTREEITEM hParent = m_ctrlTree.InsertItem(&tvInsert);

  29.                         strText.ReleaseBuffer();
  30.                 }
  31.         }
复制代码
例程工程源代码:
(, 下载次数: 0)