У меня есть объект управления деревом, созданный с использованием класса CTreeCtrl MFC. Дерево управления должно поддерживать переименование.
Когда я щелкаю левой кнопкой мыши по любому элементу в Дереве, вызывается событие TVN_SELCHANGED, из которого я могу получить выбранный элемент дерева, как показано ниже:
HTREEITEM h = m_moveListTree.GetSelectedItem ();
CString s = m_moveListTree.GetItemText (h);
Однако, когда я щелкаю правой кнопкой мыши по любому элементу в дереве, я не получаю никакого события TVN_SELCHANGED, и, следовательно, мой выбранный элемент остается тем же самым из события левого щелчка. Это вызывает следующую проблему:
1) Пользователь щелкнул левой кнопкой мыши на элементе A
2) пользователь нажимает правую кнопку мыши на элементе B и говорит, что переименовывает
3) Поскольку выбранный элемент все еще A, переименование применяется для элемента A.
Пожалуйста, помогите в решении проблемы.
-Praveen