fix a bug of treeview control that it'll select first top visible item unintentionally (#131)

* deselect from treeview control would cause 'selected owner house' changed to the top one by accident
* now deselection will reset selection to parent node
This commit is contained in:
handama 2024-12-31 09:17:23 +08:00 committed by GitHub
parent 2688690b78
commit ac22ab9aab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2137,10 +2137,12 @@ void CIsoView::OnRButtonUp(UINT nFlags, CPoint point)
if (!ignoreClick) {
AD.reset();
CMyViewFrame& frame = *((CMyViewFrame*)owner);
frame.m_objectview->GetTreeCtrl().Select(NULL, TVGN_CARET);
}
CTreeCtrl& treeCtrl = ((CMyViewFrame*)owner)->m_objectview->GetTreeCtrl();
HTREEITEM hParentItem = treeCtrl.GetParentItem(treeCtrl.GetSelectedItem());
treeCtrl.Select(hParentItem, TVGN_CARET);
return;
}