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

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

Drag and Drop [D7, XP]


Inna_Z ©   (2006-09-19 18:08:00) 

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

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

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

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

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


Leonid Troyanovsky   (2006-09-19 19:15:00) [1]


> Inna_Z   (19.09.06 18:57) [3]

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


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

--
Regards, LVT.


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

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

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

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


Leonid Troyanovsky   (2006-09-19 18:36:00) [3]


> 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:22:00) [4]

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


Наверх

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