中易网

VC++中怎样在指定的TreeCtrl节点中添加子节点?

答案:2  悬赏:10  
解决时间 2021-04-28 13:05
  • 提问者网友:相思瘸子
  • 2021-04-27 23:28
比如有下面结构的TreeCtrl:|+----水果+----五谷想在水果节点下添加“香蕉”子节点,在VC++中怎样编程?
最佳答案
  • 二级知识专家网友:初心未变
  • 2021-04-28 00:14
CTreeCtrl* pCtrl = (CTreeCtrl*) GetDlgItem(IDC_TREE1);
ASSERT(pCtrl != NULL);

// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call.

TVINSERTSTRUCT tvInsert; // 这是定义了一个父节点
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");

HTREEITEM hCountry = pCtrl->InsertItem(&tvInsert); // 插入父节点,记住前面这个hCountry 下面又把它作为了父节点

HTREEITEM hPA = pCtrl->InsertItem(TVIF_TEXT,
_T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL); //这里插入一个hCountry 的子节点

HTREEITEM hWA = pCtrl->InsertItem(_T("Washington"), // 这里又插入一个hCountry 的子节点并且放在hPA的后面(是同一个辈分的)
0, 0, hCountry, hPA);

pCtrl->InsertItem(_T("Pittsburgh"), hPA, TVI_SORT); // 这里连续插入了三个hPA的子节点
pCtrl->InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
pCtrl->InsertItem(_T("Altoona"), hPA, TVI_SORT);

pCtrl->InsertItem(_T("Seattle"), hWA, TVI_SORT); //这里插入了3个hWA的子节点
pCtrl->InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
pCtrl->InsertItem(_T("Yakima"), hWA, TVI_SORT); 根据上面的方法,你可以插入自己的节点了下面给你函数原型看看 HTREEITEM InsertItem( LPTVINSERTSTRUCT lpInsertStruct );HTREEITEM InsertItem( UINT nMask, LPCTSTR lpszItem, int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam, HTREEITEM hParent, HTREEITEM hInsertAfter );HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST );HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST);
全部回答
  • 1楼网友:花一样艳美的陌生人
  • 2021-04-28 01:05
HTREEITEM InsertItem( LPCTSTR lpszItem, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST ); HTREEITEM InsertItem( LPCTSTR lpszItem, int nImage, int nSelectedImage, HTREEITEM hParent = TVI_ROOT, HTREEITEM hInsertAfter = TVI_LAST); 这两个函数都可以使用。区别是一个有图标一个没图标 最后一个参数可以不使用
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息