ask first, thanks.
whether has any Class, or example i can use??
/////////////////////////////////////////////////
一个简单的例子,希望对你有帮组,记得加分与哦
/////////////////////////////////////////////////
void CLeftView::OnInitialUpdate()
{
CTreeView::OnInitialUpdate();
CTreeCtrl *pTree=&GetTreeCtrl();
HTREEITEM root=pTree->InsertItem("SS",TVI_ROOT,TVI_LAST);
pTree->InsertItem("SS1",root,TVI_LAST);
pTree->InsertItem("SS2",root,TVI_LAST);
pTree->InsertItem("SS3",root,TVI_LAST);
pTree->InsertItem("SS4",root,TVI_LAST);
// TODO: You may populate your TreeView with items by directly accessing
// its tree control through a call to GetTreeCtrl().
}
////////////////////////////////////////////////////////////////
void CLeftView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
CTreeCtrl *pTree=&GetTreeCtrl();
HTREEITEM root=pTree->GetSelectedItem();
pTree->DeleteItem(root);
*pResult = 0;
}
我恰巧昨天在我的一个项目中有一个方法用来删除所选项目的所有子项,希望对你有用。
//用于删除当前项目的所有子项;
void CPrivacyLockerDlg::DeleteAllSubItem(HTREEITEM knot)
{
if(!m_treeDirectory.ItemHasChildren(knot))
return;
HTREEITEM child=m_treeDirectory.GetChildItem(knot);
while(child!=NULL){
HTREEITEM deleteitem=child;
DeleteAllSubItem(deleteitem);
child=m_treeDirectory.GetNextItem(deleteitem,TVGN_NEXT);
m_treeDirectory.DeleteItem(deleteitem);
}
}
哥们,不会吧,运行期也是这条语句呀。不信你可以搞个菜单来试一下
void CLeftView::OnMenu37021(...)
{
CTreeCtrl *pTree=&GetTreeCtrl();
HTREEITEM root=pTree->InsertItem("SS",TVI_ROOT,TVI_LAST);
pTree->InsertItem("SS1",root,TVI_LAST);
pTree->InsertItem("SS2",root,TVI_LAST);
pTree->InsertItem("SS3",root,TVI_LAST);
pTree->InsertItem("SS4",root,TVI_LAST);
}