![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перетаскиваемый компонент [D5, D6, Win95/98, Win2k]
avr555 © (2001-12-17 19:54:00)У меня такой вопрос:
Я хочу сделать компонент, который можно было бы "таскать" по форме.
В качестве такого компонента решил использовать VirtualTreeView
Для перетаскивания использую три события: OnMouseDown, OnMouseMove, OnMouseUp.
Когда я в качестве перетаскиваемого компонента использовал CheckListBox, то для того, чтобы компонент не срывался, вызывал функцию SetCapture(self.Handle) и все работало.
А при переходе на VirtualTreeView после вызова SetCapture(self.Handle) компонент перестает передвигаться. Если не вызывать SetCapture(self.Handle), то все работает, только компонент при перетаскивании "срывается" с указателя.
Что делать?
DK (2001-12-19 02:16:00) [1]Попробуй в обработчик OnMouseDown вставить:
var
Control: TControl;
begin
try
Control := Sender as TControl;
ReleaseCapture;
Control.Perform(WM_SYSCOMMAND, $F012, 0);
finally
end;
end;