CTreeCtrl 类中的 InsertItem 方法用于在树形控件中插入一个新项。以下是该方法的定义:
HTREEITEM InsertItem(
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    HTREEITEM hParent,
    HTREEITEM hInsertAfter
);

参数说明:
  •  nMask:指定在新项中初始化哪些属性。

  •  lpszItem:新项的文本。

  •  nImage:指定在图像列表中的图像索引,用于显示正常状态的图标。

  •  nSelectedImage:指定在图像列表中的图像索引,用于显示选定状态的图标。

  •  nState:指定项的初始状态。

  •  nStateMask:指定 nState 参数中哪些位是有效的。

  •  lParam:用户定义的 32 位值,可以关联到项。

  •  hParent:新项的父项的句柄,如果为 NULL,则表示新项为顶级项。

  •  hInsertAfter:新项将插入到父项的何处,如果为 TVI_FIRST,则插入为第一个子项;如果为 TVI_LAST,则插入为最后一个子项;如果为 TVI_ROOT,则插入为根项;如果为 TVI_SORT,则按字母顺序插入。


例如,以下是一个简单的使用示例:
CTreeCtrl myTreeCtrl;  // 假设已经创建了一个树形控件对象

HTREEITEM hParent = myTreeCtrl.GetRootItem();  // 获取根项的句柄

HTREEITEM hNewItem = myTreeCtrl.InsertItem(
    TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE,
    _T("New Item"),
    0,  // 图像列表中的图像索引
    1,  // 选定图像列表中的图像索引
    TVIS_EXPANDED,  // 初始状态为展开
    TVIS_EXPANDED,  // 状态掩码
    (LPARAM)0,  // 用户定义的参数
    hParent,  // 新项的父项
    TVI_LAST  // 插入到父项的最后一个位置
);

这将在树形控件中的根项下插入一个新项,并设置其文本为 "New Item"。


转载请注明出处:http://www.pingtaimeng.com/article/detail/22915/MFC/CTreeCtrl