Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Перетаскивание Items в пределах TreeView...   Найти похожие ветки 

 
kas-t   (2004-04-26 00:43) [0]

Подскажите пожалуста, как можно организовать перетаскивание итемов в приделах TreeView? Так что бы взял итем или ветвь и перетащил её в любой другой итем или в ветвь.
--
Уже везде смотрел, никак не могу найти решения. Может плохо искал?


 
Германн ©   (2004-04-26 01:19) [1]

А если почитать хэлп на события OnDragDrop, OnDragOver, OnStartDrag, OnStopDrag?


 
Mim1 ©   (2004-04-26 01:29) [2]

Вот пример


procedure TWndMain.TreeViewDragDrop(Sender, Source: TObject; X,
 Y: Integer);
var
 AnItem: TTreeNode;
 AttachMode: TNodeAttachMode;
 HT: THitTests;
begin
 AttachMode := naAdd;
 if TTreeView(sender).Selected = nil then Exit;
 HT := TTreeView(sender).GetHitTestInfoAt(X, Y);
 AnItem := TTreeView(sender).GetNodeAt(X, Y);
 if (HT - [htOnItem, htOnIcon, htNowhere, htOnIndent] <> HT) then
 begin
   if (htOnItem in HT) or (htOnIcon in HT) then AttachMode := naAddChild
   else if htNowhere in HT then AttachMode := naAdd

   else if htOnIndent in HT then AttachMode := naInsert;
   TTreeView(sender).Selected.MoveTo(AnItem, AttachMode);
 end;
end;

procedure TWndMain.TreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin
 Accept := true;
end;


 
kas-t   (2004-04-26 01:38) [3]

И действительно... просто плохо искал :)
Спасиб!



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
14-1082296866
q13
2004-04-18 18:01
2004.04.11
задача:распределить число между элементами массива


1-1082962907
Goorus
2004-04-26 11:01
2004.04.11
Контейнер объектов


6-1075973336
mahsus
2004-02-05 12:28
2004.04.11
Протокол ComPort


3-1079449884
DataBase
2004-03-16 18:11
2004.04.11
Узнать количество строк в DbGridEh


14-1082452488
Феликс
2004-04-20 13:14
2004.04.11
Импорт файла 1С