树控件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

posted @ 2014-06-12 16:10  劃云  阅读(466)  评论(0编辑  收藏  举报