![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Drag&Drop
Iconka © (2004-09-20 13:51:00)Как в процедуре DragOver объекту запретить перетаскивать себя на себя, а на другие объекты этого же типа разрешить? Объекты на неком workspace динамически создает пользователь.
П7 (2004-09-20 14:23:00) [1]Ну вот вишь, сам догадался... (:
Iconka (2004-09-20 14:19:00) [2]Всё ясно. Спасибо что навели на мысль. Меня смутило то что в объвлении процедуры DragOver (именно её я перекрываю) нет параметра Sender (не путать с OnDragOver)
Работает Accept := Source <> Self
wl (2004-09-20 14:09:00) [3]
Accept := False;
if(Source Is <Нужный тип>) And (Sender <> Source) Then Accept := True;
jack128 (2004-09-20 14:09:00) [4]Iconka © (20.09.04 14:07) [4]
Объекты динамичесик создаются. Какое у них там имя ХЗ.
то есть??? Это событие генерит получающий бъект, так? Тогда Accept := Source <> Sender;
Iconka (2004-09-20 14:07:00) [5]
> У объекта должно быть имя
Объекты динамичесик создаются. Какое у них там имя ХЗ.
Iconka (2004-09-20 14:04:00) [6]Вопрос в том как определить что DropOver происходит на самом себе?
П7 (2004-09-20 14:02:00) [7]Хз... У объекта должно быть имя, вот в DragOver нужно сделать проверочку...
Допустим, что твой объект называет BadaBoom.
В его событии DragOver пишешь следующее:
Accept := Source <> BadaBoom;
Вот, собственно и всё...
jack128 (2004-09-20 14:01:00) [8]TDragOverEvent = procedure(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) of object;
property OnDragOver: TDragOverEvent;
Не оно??