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

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

Перемещение панели [D7]


race1 ©   (2005-07-12 16:35:00) 

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

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


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

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


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


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-12 17:15:00) [3]

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


GLFox   (2005-07-12 16:41:00) [4]

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


Наверх

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