| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > VT drag&drop |
| Автор: Dapo 18.5.2010, 03:39 | ||
| Приветствую форумчан. Работал с VT горя не знал, пока не столкнулся с необходимостью Drag&Drop. И задача, вроде, простая: необходимо копировать узлы из одной ветки дерева в другую. Вот код который это выполняет (всяческие проверки я опустил):
Копируются пустые ноды, т.е. внутри TargetNode создается такая же структура какую перетаскиваю, но пустая .Как же мне их проинициализировать в соответствии с теми нодами которые перетащил (необходимо выдернуть названия привязанных объектов и изменить свойство-указатель объекта на другой тип данных)? Я так понимаю, нужно получить доступ к вновь созданным нодам, но как? Доступ к нодам перетаскиваемым нужно получить через Sender.FocusedNode? Cвойства VT: dmAutomatic, dtOLE, ClipboardFormats = Virtual Tree Data; Использую VT 4.8.6. Заранее благодарен всем откликнувшимся. |
| Автор: kami 18.5.2010, 07:26 |
| Осталось сделать 2 события: OnLoadNode и OnSaveNode. |
| Автор: Dapo 18.5.2010, 07:38 |
| Извиняюсь. версия 4.8.6. Пристальнее посмотрел в статью, первую ноду из перетаскиваемых можем взять Source.GetSortedSelection? А первую из вновь созданных - перебором дочек TargetNode пока не наткнемся на "пустую ноду"? Добавлено через 14 минут и 45 секунд kami, спасибо ). Если бы я вгляделся еще пристальнее то, наверное, уже искал бы глаза где-нибудь под столом! Вопрос снят. |