Поделиться через


Редактирование меток древовидного элемента управления

Пользователь может напрямую редактировать метки элементов в элементе управления "Дерево" (CTreeCtrl), который имеет стиль TVS_EDITLABELS . Пользователь начинает редактирование, щелкнув метку элемента с фокусом. Приложение начинает редактирование с помощью функции-члена EditLabel . Элемент управления "Дерево" отправляет уведомление при начале редактирования и при отмене или завершении. После завершения редактирования вы несете ответственность за обновление метки элемента при необходимости.

При начале редактирования меток элемент управления деревом отправляет сообщение TVN_BEGINLABELEDIT уведомления. Обрабатывая это уведомление, вы можете разрешить редактирование некоторых меток и запретить редактирование других. Возвращая значение 0, можно редактировать и возвращать ненулевое значение.

При отмене или завершении редактирования меток элемент управления деревом отправляет сообщение TVN_ENDLABELEDIT уведомления. Параметр lParam — это адрес структуры NMTVDISPINFO . Элемент является структурой TVITEM, которая идентифицирует элемент и включает измененный текст. При необходимости вы несете ответственность за обновление метки элемента, возможно, после проверки измененной строки. Элемент pszText TV_ITEM равен 0, если изменение отменено.

При редактировании меток обычно в ответ на сообщение уведомления TVN_BEGINLABELEDIT можно получить указатель на элемент управления редактированием меток, используемый для редактирования меток с помощью функции-члена GetEditControl . Вы можете вызвать функцию-член элемента setLimitText элемента элемента управления edit, чтобы ограничить объем текста, который пользователь может ввести или подкласс элемента управления редактирования для перехвата и отключения карта недопустимых символов. Обратите внимание, что элемент управления редактированием отображается только послеотправки TVN_BEGINLABELEDIT .

См. также

Использование CTreeCtrl
Controls