Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Перетаскиваемый компонент 


avr555   (2001-12-17 19:54) [0]

У меня такой вопрос:
Я хочу сделать компонент, который можно было бы "таскать" по форме.
В качестве такого компонента решил использовать VirtualTreeView
Для перетаскивания использую три события: OnMouseDown, OnMouseMove, OnMouseUp.

Когда я в качестве перетаскиваемого компонента использовал CheckListBox, то для того, чтобы компонент не срывался, вызывал функцию SetCapture(self.Handle) и все работало.
А при переходе на VirtualTreeView после вызова SetCapture(self.Handle) компонент перестает передвигаться. Если не вызывать SetCapture(self.Handle), то все работает, только компонент при перетаскивании "срывается" с указателя.

Что делать?



DK   (2001-12-19 02:16) [1]

Попробуй в обработчик OnMouseDown вставить:
var
Control: TControl;
begin
try
Control := Sender as TControl;
ReleaseCapture;
Control.Perform(WM_SYSCOMMAND, $F012, 0);
finally
end;

end;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
6-22305           Kryptin Phreek        2001-10-11 19:43  2002.01.08  
Сокеты... Локалка...


1-22109           avr555                2001-12-19 17:17  2002.01.08  
ComboBox в Grid


14-22370          Zergg                 2001-11-08 16:30  2002.01.08  
Про статическую загрузку DLL из CBuilder


14-22326          McSimm                2001-11-04 11:35  2002.01.08  
Кто-то хотел размять (себе) мозги? Какие будут варианты алгоритма?


14-22386          Дремучий              2001-11-08 21:13  2002.01.08  
Интересно? Насколько?