CTreeCtrl::InsertItem 是 MFC 中 CTreeCtrl 类的一个公共方法,用于向树控件中插入一个新的项。该方法的声明如下:
HTREEITEM InsertItem(
   UINT nMask,
   LPCTSTR lpszItem,
   int nImage,
   int nSelectedImage,
   UINT nState,
   UINT nStateMask,
   LPARAM lParam,
   HTREEITEM hParent,
   HTREEITEM hInsertAfter
);

其中:
  •  nMask 是一个标志,指定要设置的项的属性。可以使用 TVIF_TEXT、TVIF_IMAGE、TVIF_SELECTEDIMAGE 等来指定要设置的属性。

  •  lpszItem 是项的文本。

  •  nImage 是显示项时的图像索引。

  •  nSelectedImage 是项被选中时的图像索引。

  •  nState 和 nStateMask 用于设置项的状态。

  •  lParam 是用户自定义的数据。

  •  hParent 是父项的句柄,表示项将被插入到该父项下。

  •  hInsertAfter 是新项将被插入到 hParent 的哪个位置,可以使用 TVI_FIRST、TVI_LAST 等来指定。


该方法返回值是插入的项的句柄。如果插入失败,返回 NULL。

下面是一个简单的示例代码,演示如何使用 CTreeCtrl::InsertItem 方法:
// 假设 m_TreeCtrl 是你的 CTreeCtrl 对象

HTREEITEM hParentItem = m_TreeCtrl.GetRootItem(); // 假设插入到根项下
HTREEITEM hInsertAfter = TVI_LAST; // 插入到最后一个位置
CString strItemText = _T("New Item"); // 新项的文本

HTREEITEM hNewItem = m_TreeCtrl.InsertItem(TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE,
                                           strItemText, 
                                           nImageIndex, // 图像索引
                                           nSelectedImageIndex, // 选中图像索引
                                           0, 0, // 状态和状态掩码
                                           0, // 用户自定义数据
                                           hParentItem,
                                           hInsertAfter);

if (hNewItem) {
    // 成功插入新项,可以在这里进行处理
} else {
    // 插入失败
}

这个示例中,我们首先获取树控件的根项作为父项,然后使用 InsertItem 方法在根项下插入一个新项。在实际使用时,你可以根据需要调整父项、插入位置以及其他属性。


转载请注明出处:http://www.zyzy.cn/article/detail/22861/MFC/CTreeCtrl