Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

а как узнать что drag&drop успешно выполнилось? например:


vadim2 ©   (2002-04-05 11:24:00) 

при drag&drop в treeview парент разумеется не может перемеcтиться в своего чайлда. как узнать что drag&drop не получился?

а вот собственно проблема, из-за которой возник этот вопрос:
как определить, что мы пытаемся сделать именно это -скопироваться в потомка?
очень не хочется рекурсию делать. есть-ли другой способ?


MBo   (2002-04-05 13:46:00) [1]


procedure TForm1.TreeView1DragOver(Sender, Source: TObject; X, Y: Integer
State: TDragState; var Accept: Boolean);
var
TargetNode, SourceNode: TTreeNode;
begin
TargetNode := TreeView1.GetNodeAt (X, Y);
if (Source = Sender) and (TargetNode <> nil) then begin
Accept := True;
SourceNode := TreeView1.Selected;
while (TargetNode.Parent <> nil) and (TargetNode <> SourceNode) do
TargetNode := TargetNode.Parent;
if TargetNode = SourceNode then
Accept := False;
end else
Accept := False;
end;


vadim2   (2002-04-05 12:08:00) [2]

я-бы с удовольствием, но очень много вложенностей


tovSuhov   (2002-04-05 11:42:00) [3]

Сравнивай парента у потомка с тем узлом, который дропишь...


Наверх

Титульная страница Поиск, карта сайта Написать письмо