Главная страница
    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.034 c
8-1076048334
Larry
2004-02-06 09:18
2004.05.09
Регионы


14-1082099069
nikitch
2004-04-16 11:04
2004.05.09
веб-камера


3-1081797714
Mishenka
2004-04-12 23:21
2004.05.09
Можно ли определить была ли запись в таблицу?


1-1082210213
alsov1234
2004-04-17 17:56
2004.05.09
Медленный скролинг в гриде


14-1081947771
*pavel
2004-04-14 17:02
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский