Есть CTreeViewCtrl, надо переименовать элемент в этом дереве.
Вызываем OnBeginLabelEdit (NMHDR* pnm): (TVN_BEGINLABELEDIT, OnBeginLabelEdit)
Начинается редактированиею
Конец редактирования обрабатываем на (TVN_ENDLABELEDIT, OnEndLabelEdit)
Так вот вопрос: как обработать ESC , т.е. начато редактирование введен новый текст, а потом нажат ESC — хотелось бы видеть старый текст.
В MSDN по этому поводу написано: If label editing was canceled, the pszText member of the TVITEM structure is NULL; otherwise, pszText is the address of the edited text.
Но реально в pszTetx — ВСЕГДА 0 (нуль), независимо от того как закончилось редактирование вводом или ESC !
Вопрос: как обработать ESC ?
Здравствуйте, homering, Вы писали:
H>Вызываем OnBeginLabelEdit (NMHDR* pnm): (TVN_BEGINLABELEDIT, OnBeginLabelEdit)
H>Конец редактирования обрабатываем на (TVN_ENDLABELEDIT, OnEndLabelEdit)
H>Так вот вопрос: как обработать ESC , т.е. начато редактирование введен новый текст, а потом нажат ESC — хотелось бы видеть старый текст.
H>Вопрос: как обработать ESC ?
сохранить в переменной, а потом восстановить..
ну или.. bHandled = FALSE; //мож получится.. не знаю

скорее всего нет
Здравствуйте, michus, Вы писали:
M>Здравствуйте, homering, Вы писали:
H>>Есть CTreeViewCtrl, надо переименовать элемент в этом дереве.
M>[...]
H>>Вопрос: как обработать ESC ?
M>TVN_KEYDOWN не пробовал ?
MESSAGE_HANDLER (WM_KEYDOWN,OnKeyDown) — > сюда при редактировании не приходим (т.е. когда вводится новое имя) и не приходим когда завершено редактирование ни по вводу ни по эскейпу
Здравствуйте, <Аноним>, Вы писали:
А>MESSAGE_HANDLER (WM_KEYDOWN,OnKeyDown) — > сюда при редактировании не приходим (т.е. когда вводится новое имя) и не приходим когда завершено редактирование ни по вводу ни по эскейпу
Имелось в виду TVN_KEYDOWN (а не WM_KEYDOWN), которое посылает TreeView.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>