WTL CTreeViewCtrl - переименование
От: homering  
Дата: 27.03.06 09:36
Оценка:
Есть 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 ?
Re: WTL CTreeViewCtrl - переименование
От: neFFy Россия  
Дата: 27.03.06 11:31
Оценка:
Здравствуйте, homering, Вы писали:

H>Вызываем OnBeginLabelEdit (NMHDR* pnm): (TVN_BEGINLABELEDIT, OnBeginLabelEdit)

H>Конец редактирования обрабатываем на (TVN_ENDLABELEDIT, OnEndLabelEdit)
H>Так вот вопрос: как обработать ESC , т.е. начато редактирование введен новый текст, а потом нажат ESC — хотелось бы видеть старый текст.
H>Вопрос: как обработать ESC ?

сохранить в переменной, а потом восстановить..
ну или.. bHandled = FALSE; //мож получится.. не знаю скорее всего нет
...coding for chaos...
Re: WTL CTreeViewCtrl - переименование
От: michus Россия  
Дата: 27.03.06 13:24
Оценка:
Здравствуйте, homering, Вы писали:

H>Есть CTreeViewCtrl, надо переименовать элемент в этом дереве.

[...]
H>Вопрос: как обработать ESC ?

TVN_KEYDOWN не пробовал ?
Re[2]: WTL CTreeViewCtrl - переименование
От: Аноним  
Дата: 28.03.06 06:27
Оценка:
Здравствуйте, michus, Вы писали:

M>Здравствуйте, homering, Вы писали:


H>>Есть CTreeViewCtrl, надо переименовать элемент в этом дереве.

M>[...]
H>>Вопрос: как обработать ESC ?

M>TVN_KEYDOWN не пробовал ?


MESSAGE_HANDLER (WM_KEYDOWN,OnKeyDown) — > сюда при редактировании не приходим (т.е. когда вводится новое имя) и не приходим когда завершено редактирование ни по вводу ни по эскейпу
Re[3]: WTL CTreeViewCtrl - переименование
От: michus Россия  
Дата: 28.03.06 15:42
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>MESSAGE_HANDLER (WM_KEYDOWN,OnKeyDown) — > сюда при редактировании не приходим (т.е. когда вводится новое имя) и не приходим когда завершено редактирование ни по вводу ни по эскейпу


Имелось в виду TVN_KEYDOWN (а не WM_KEYDOWN), которое посылает TreeView.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.