| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > вопрос по treeview |
| Автор: sani79 21.4.2006, 10:23 |
| Вопрос такой: как сделать, чтобы после создания node'a сразу редактировалось его имя. То есть при создании задаем имя по умолчанию, и сразу курсор установлен на переименования пользователем. |
| Автор: _hunter 21.4.2006, 10:48 |
| вызови у дерева метод Select и после этого покажи InputQuery и поменяй текст в случае нажатия OK |
| Автор: sani79 21.4.2006, 10:52 |
| _hunter, хм.. либо я ничего не понимаю, либо у дерева нет метода select, есть selected, который возвращает текущий узел. |
| Автор: _hunter 21.4.2006, 10:57 |
| а зачем он? текущий узел у тебя будет "после создания node'a" |
| Автор: sani79 21.4.2006, 11:00 |
| Yanis, А как послать его (TVN_BEGINLABELEDIT) конкретному элементу, а не форме? Через WM_NOTIFY? Добавлено @ 11:09 _hunter, Только что пробовал текущий узел не меняется после создания нового, а остается прежним. Кстати ларчик похоже просто открывался: у узлов есть функция EditText, я ее почему то не нашел сразу. То есть делаем node.EditText и начинается редактирование. Единственно остается вопрос как поймать событие, завершение переименование нода, то есть когда пользователь пимпает Enter. |
| Автор: Yanis 21.4.2006, 11:14 | ||||
|
| Автор: sani79 21.4.2006, 11:18 |
| Yanis, Спасибо. Кстати, событие срабатывающее после редактирование это Treeview.OnEdited. Вопрос решен. |