树控件DeleteAllItems之前先SelectItem(NULL)
CTreeCtrl::DeleteAllItems 使用之前先SelectItem(NULL)
原因:DeleteAllItems之前若有TreeCtrl中某项为选中状态,会发送TVN_SELCHANGED消息,容易出错,导致最后几项或者某一项无法删除,停留在TreeCtrl树中。
解决方法:
1.SelectItem(NULL),然后
在TVN_SELCHANGED消息函数里记得写:
HTREEITEM hItem = NULL;
hItem = m_CabTree.GetSelectedItem();
if (hItem == NULL)
{
*pResult = 0;
return;
}
2.DeleteAllItems