Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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

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

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


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

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


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

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


 
Германн ©   (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;


 
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]

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


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

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



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
4-1079340672
BillyJeans
2004-03-15 11:51
2004.05.09
Как разместить Bitmap на форме API шными функциями?


3-1081851727
CyBeR
2004-04-13 14:22
2004.05.09
Как вставить результат запроса Query в таблицу???.


6-1079111211
LanLan
2004-03-12 20:06
2004.05.09
Получение данных от клиентских компов ServerSocket1ClientRead


14-1081925575
Мараканец
2004-04-14 10:52
2004.05.09
Блокировка данных....


14-1082048518
RealRascal
2004-04-15 21:01
2004.05.09
Экономия траффика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский