Небольшая проблема с CTreeViewCtrlEx
От: Аноним  
Дата: 13.06.04 05:42
Оценка:
В OnCreate() окна делаю так:
OnCreate()
{
  m_tree.Create(m_hWnd,NULL,NULL, TVS_FULLROWSELECT | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_EDITLABELS| TVS_DISABLEDRAGDROP| WS_CHILD | WS_VISIBLE );
  m_tree.SetImageList(m_images, TVSIL_NORMAL);
}

Затем из какого-нибудь обработчика (меню):
AddItem()
{
  HTREEITEM item = tree.GetSelectedItem();
  HTREEITEM parent = item ? item : TVI_ROOT;
  tree.InsertItem("ttt", hParent, TVI_LAST);
}


Если элементов в контроле нет или нет выделенных, tree.GetSelectedItem() как и требуется, возвращает NULL.
Но если есть элементы, то при клике просто в контроле (не по элементу), выделяется первый элемент.
И после этого снять выделение, то есть добиться, чтобы tree.GetSelectedItem() вернул NULL не могу.
Другие элементы выделять можно.
В общем хотелось бы следущего, при клике внутри контрола (не по элементу) снимать любое выделение.
tree.SelectItem(NULL) поможет, вот только в каком обработчике это сделать, я не знаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.