BCG项目树结构多选删除功能实现总结

1、设置多选风格
在OnCreate(LPCREATESTRUCT lpCreateStruct)函数中设置多选风格
DWORD dwExtendedStyle=m_wndFileView.GetExtendedStyle()
|TVS_EX_DOUBLEBUFFER|TVS_EX_DRAWIMAGEASYNC|TVS_EX_MULTISELECT;
m_wndFileView.SetExtendedStyle(dwExtendedStyle,dwExtendedStyle);

2、多选后右键删除所选中的结点
思路:从树的第一个结点进行遍历,判断结点是否被选中,遇到选中的结点则进行删除,直到遍历完所有的结点。完成删除后再对树结构进行刷新。
void CFileView::OnDeleteAll()
{
for ( HTREEITEM hTreeItem =m_wndFileView.GetRootItem(); hTreeItem!=NULL; hTreeItem = m_wndFileView.GetNextVisibleItem( hTreeItem ) )
if (m_wndFileView.GetItemState( hTreeItem, TVIS_SELECTED ) & TVIS_SELECTED)
{
OnDelete(hTreeItem); //删除结点具体数据信息
}
FillFileView(); //删除完成后刷新树结构
}
注:CViewTree m_wndFileView;其中CViewTree 类继承的是CTreeCtrl类


上一篇:PHP变量的变量——可变变量


下一篇:给控件变量赋初值并在对话框控件显示