Ttreeview и современный Drag&drop

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
Как сделать, чтобы узлы перетаскивались также как и, например, пункты в меню "Пуск". Т.е. можно было перетаскивать не только в другой узел, но и менять порядок узлов. И как при этом отрисовывать дерево. Может есть готовый компонент?
 
B

Barmutik

#2
Есть.. например TVirtualTree .. супер удобный и надёжный компонент .. рекомендую ..
 
G

Guest

#3
Что-то нигде не нашел на него ссылку. Не ткнешь в УРЛ?
 
B

Barmutik

#6
Угу .. реально великая ... разобраться не просто .. но сейчас испольуемв половине проектов .. забыли про все другие деревья и листы ...
 
G

Guest

#7
Только так и не понял, куда деваются узлы при перетаскивании, если dragType = dtOLE?
 
B

Barmutik

#8
Тяжело сказать .. всё надо смотреть.. по фотографии так сказать запой тяжело вылечить :(
 

Баламут

Well-known member
27.07.2005
76
0
#9
Да, хорошее дерево... Вот только никак не могу вклиниться, как отредактировать текст в нем? И в демках этого нет... Может расскажете поподробнее, а?
 
G

Guest

#10
procedure TfMain.TreeNotesNewText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; NewText: WideString);
var
data: PNodeData;
begin
data := Sender.GetNodeData(Node);
data.text := newText;
end;
 

Баламут

Well-known member
27.07.2005
76
0
#11
Блин, да у меня даже не получается в самом дереве запустить редактирование строки. Только выбор. Вот я и прошу исходник, если не трудно.
 
G

Guest

#12
У компонента есть свойство TreeOptions->MiscOptions->Editable. Поставь его в true.
 
G

Guest

#14
Ну вот пример, вроде работает. Даже не знаю, чем еще помочь :)
 

Вложения

Баламут

Well-known member
27.07.2005
76
0
#15
Да знаешь ты все... Попробуй кликнуть мышью по добавленному узлу!.. Вот и у меня не получилось. А клавой запросто. Глюк или я чего-то не понимаю?
 

Баламут

Well-known member
27.07.2005
76
0
#16
Хотя ладно, справился. Не понимаю, зачем здесь все сделано через задницу? Такая вроде обычная операция, как добавление узла оборачивается настоящим гемороем...
 

Баламут

Well-known member
27.07.2005
76
0
#17
В продолжение темы...
А может знает кто, как получить доступ к узлу по его абсолютному индексу?
 
B

Barmutik

#18
Никак .. точно ... я у Автора спрашивал :unsure:

Абсолютный индекс Нода можно узнать .. а наоборот нет.. делайте пробежку по элементам .. быстро работыть будет всё равно...
 

Баламут

Well-known member
27.07.2005
76
0
#19
А как можно привязать VT к базе данных? Собственно мне лишь это и необходимо. Со стандартным деревом нет никаких проблем (очень удобная штука - абсолютная адресация узлов). Но в нем, стандартном, меня не устраивает механизм перетаскивания. Мне бы простой примерчик сохранения структуры дерева в базе посмотреть... Ну и обратное извлечение оттуда тоже, конечно.
 
B

Barmutik

#20
Это всё делалось .. только там всё не просто и оторвать и выложить кусок врядли получится...

Так по идее там же всё тривиально... вычитываете по уровням и строите .. или как часто бывает строите только верхний уровень и потом на экспанде достраиваете детей...
 
Статус
Закрыто для дальнейших ответов.