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

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

Таскать форму правой кнопкой мыши.... [D7, WinXP]


Makhanev Alexander ©   (2006-12-10 11:42:00) 

Как сделать так чтобы форма перетаскивалась (drag) при зажатой правой кнопке мыши.
При зажатой левой всё ясно - WM_NCHitTest и подмена msg.Result на htCaption.
Но т.к. htCaption работает только для левой кнопки, возникает проблема.

Буду рад советам.


Makhanev Alexander   (2006-12-10 12:12:00) [1]

угу, к сожалению надо именно правой таскать.
а делать это вручную совсем не хочется (mouse down\up\move)


Loginov Dmitry   (2006-12-10 12:07:00) [2]


procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
const
 Sc_dragmove = $F012;
begin
 if (ssCtrl in Shift) and (Button = mbLeft) then
 begin
   ReleaseCapture;
   (Sender as TWinControl).Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
 end;
end;


А с правой кнопкой мыши и вправду не все так просто...


Loginov Dmitry   (2006-12-10 11:58:00) [3]

> Буду рад советам.


Всесто правой кнопки используй левую кнопку с Ctrl


Наверх

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