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