Вниз
Скачать: CL | DM;

Drag and Drop   Найти похожие ветки 

 
Inna_Z   (2006-09-19 18:08) [0]

Совсем не хитрый вопрос.

 Есть форма и лежащий на ней любой компонент. Я хочу чтоб этот компонент перетаскивался по форме при помощи Drag and Drop.

 Компонент можно начинать перетаскивать вручную воспользовавшись методом BeginDrag или поставить ему свойство DragMode = dmAutomatic.

 Форме я задала свойство DockSite = True.

 Почему тогда если я отпускаю компонент в области формы он не ложится на форму, а получается ложится на рабочий стол, потому что появляется в окошке?
При этом события события OnDragDrop и OnDockOver назначенные форме не ловятся. Срабатыают только через раз, а именно когда я с рабочего стола перетягиваю компонент на форму.
 
 Как сделать чтоб в таком случае когда я снова отпускаю его над формой я могла словить события OnDragDrop и OnDockOver и компонент был на форме всегда.


 
Inna_Z   (2006-09-19 18:22) [1]

Точнее там OnDragDrop ловится по идее должен если у меня стиль перетаскивания dkDock.


 
Leonid Troyanovsky ©   (2006-09-19 18:36) [2]


> Inna_Z   (19.09.06 18:08)  

>  Есть форма и лежащий на ней любой компонент. Я хочу чтоб
> этот компонент перетаскивался по форме при помощи Drag and
> Drop.


Нет особого смысла таскать любые компоненты (скажем, невидимые).
А d"n"d - это, во-ще, для TWinControl.

Можно посмотреть на эмуляцию (для любых TControl)

http://groups.google.com/group/borland.public.delphi.vcl.components.using/msg/6cbcbd31122fec37

--
Regards, LVT.


 
Inna_Z   (2006-09-19 18:57) [3]

Ну я имела в виду то что не важно что тоскать кнопку или панель результат то-же. Естественно я хочу тоскать видимые компоненты.

 Это делается для написания совственного маленького редактора формы.

 Где компонент можно перетаскивать по форме, а можно положить и на какой-то другой компонент на форме.


 
Leonid Troyanovsky ©   (2006-09-19 19:15) [4]


> Inna_Z   (19.09.06 18:57) [3]

> панель результат то-же. Естественно я хочу тоскать видимые
> компоненты.


Для быстрого старта пример by Peter Below вполне сгодится.
Можешь нагуглить и другие полезные примеры оного автора.

--
Regards, LVT.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.048 c
1-1156666261
AlexeyT
2006-08-27 12:11
2006.10.08
Что за контрол отвечает за MCIWndClass?


2-1158837997
ququ
2006-09-21 15:26
2006.10.08
Move


2-1158658563
Lera
2006-09-19 13:36
2006.10.08
Сообщения windows


1-1156769390
DelphiLexx
2006-08-28 16:49
2006.10.08
DoubleBuffered распространять, на определенный участок


15-1158557887
Ega23
2006-09-18 09:38
2006.10.08
С Днём рождения! 18 сентября




   Наверх