Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.31;
Скачать: CL | DM;

Вниз

Перемещение панели   Найти похожие ветки 

 
race1   (2005-07-12 16:35) [0]

Есть, например, панелька. Нужно эту панельку таскать мышкой. Алгоритм такой - нажали на панельке, запомнили координаты мыши. Когда двигаем мышу проверяем что координаты не нулевые и смещаем панель на delta x и delta y, найденые как X-ClickPos.X. Но панель-то переместилась и заново приходит сообщение что мыша переместилась. Получается что панелька страшно дёргается, даже если мышу не двигать - сообщения сами приходят :)

Как-нибудь можно это побороть?


 
GLFox ©   (2005-07-12 16:41) [1]

Наверняка стоит попробовать обрабатывать OnMouseMove формы-владельца, а не самой панельки.


 
race1   (2005-07-12 17:15) [2]

вобще-то это не совсем удобно. т.к. я пишу компонент, который не должен ничего знать о родителе... т.е. что бы автономно таскался сам. но если иначе никак...


 
Ученик   (2005-07-12 22:30) [3]


procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbLeft then begin
   ReleaseCapture;
   {Panel1.}Perform(WM_SysCommand, $F012, 0);
 end
end;



 
race1   (2005-07-14 10:01) [4]

>Ученик
Здорово, работает. А что за command такой $F012 (61458)? Не нашёл такой константы...



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

Текущий архив: 2005.07.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-1120557953
Kerk
2005-07-05 14:05
2005.07.31
Мюзиклы


8-1112082622
ut1wpr
2005-03-29 11:50
2005.07.31
Генерация двух тонов одновременно. Консольное приложение.


14-1121009468
NewWonder
2005-07-10 19:31
2005.07.31
Что-то с монитором :(


4-1117371250
Yandexman
2005-05-29 16:54
2005.07.31
Как программно заменить обои на рабочем столе


14-1120674661
Cheater
2005-07-06 22:31
2005.07.31
Подскажите какую-нибудь небольшую игрушку....