Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос по treeview, имя нового node 
V
    Опции темы
sani79
Дата 21.4.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



Вопрос такой: как сделать, чтобы после создания node'a сразу редактировалось его имя. То есть при создании задаем имя по умолчанию, и сразу курсор установлен на переименования пользователем. 
PM MAIL   Вверх
_hunter
Дата 21.4.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



вызови у дерева метод Select и после этого покажи InputQuery и поменяй текст в случае нажатия OK 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Yanis
Дата 21.4.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(sani79 @  21.4.2006,  10:23 Найти цитируемый пост)
Вопрос такой: как сделать, чтобы после создания node'a сразу редактировалось его имя. То есть при создании задаем имя по умолчанию, и сразу курсор установлен на переименования пользователем.  

Воспользуйся макросом TreeView_EditLabel, который живёт в CommCtrl.pas или же посылай сообщение TVN_BEGINLABELEDIT итему. 

Код

  TreeView_EditLabel(TreeView1.Handle, TreeView1.Selected.ItemId);
 

Это сообщение отредактировал(а) Yanis - 21.4.2006, 10:55


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
sani79
Дата 21.4.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



_hunter,  хм.. либо я ничего не понимаю, либо у дерева нет метода select, есть selected, который возвращает текущий узел. 
PM MAIL   Вверх
_hunter
Дата 21.4.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



а зачем он? текущий узел у тебя будет "после создания node'a" 


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
sani79
Дата 21.4.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



Yanis,  А как послать его (TVN_BEGINLABELEDIT) конкретному элементу, а не форме? Через WM_NOTIFY?

Добавлено @ 11:09 
_hunter,  Только что пробовал текущий узел не меняется после создания нового, а остается прежним. Кстати ларчик похоже просто открывался: у узлов есть функция EditText, я ее почему то не нашел сразу. То есть делаем node.EditText и начинается редактирование. Единственно остается вопрос как поймать событие, завершение переименование нода, то есть когда пользователь пимпает Enter. 
PM MAIL   Вверх
Yanis
Дата 21.4.2006, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(sani79 @  21.4.2006,  11:00 Найти цитируемый пост)
А как послать его (TVN_BEGINLABELEDIT) конкретному элементу, а не форме?

Код

SendMessage(TreeView1.Handle, TVM_EDITLABEL, 0, LongInt(TreeView1.Selected.ItemId));
 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
sani79
Дата 21.4.2006, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 14.12.2005

Репутация: нет
Всего: нет



Yanis,  Спасибо. Кстати, событие срабатывающее после редактирование это Treeview.OnEdited.  Вопрос решен. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0805 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.