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

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

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;

Не оно??


Наверх

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