Главная страница
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.05 c
4-1079353821
StAL
2004-03-15 15:30
2004.04.11
Парадокс при перехвате API


6-1075905217
DillerXX
2004-02-04 17:33
2004.04.11
Закачка файлов


14-1082080865
Думкин
2004-04-16 06:01
2004.04.11
С днем рождения! 16 апреля.


1-1082452602
Relaxxx
2004-04-20 13:16
2004.04.11
Как мне узнать какой будет следующий месяц програмно...


6-1079677681
gosha
2004-03-19 09:28
2004.04.11
Обмен между базами