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

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

Перетаскивание окна(формы) [D6, Win2k]


Bers01 ©   (2004-01-20 16:30:00) 

Добрый вечер УВАЖАЕМЫЕ МАСТЕРА!
Может поделится кто опытом, а еще лучше примерчиком:
Нужно чтобы окно(форма) перетаскивалось не только за заголовок, а за любую область(внутри окна), на которой его схватили.
Пробовал через MoveWindow(...) на onMouseMove, но при перемещении изображение сильно дергается. Подскажите кто знает.

С Уважением, Андрей.


LukSerg   (2004-01-22 18:39:00) [1]

procedure Form1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
const  SC_DragMove = $F012;  { a magic number }
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;


LukSerg   (2004-01-22 18:39:00) [2]

procedure Form1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
const  SC_DragMove = $F012;  { a magic number }
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;


TUser   (2004-01-22 17:02:00) [3]


> HT_CAPTION(точно не помню)

Msg.Result:=htCaption


Thick   (2004-01-22 12:23:00) [4]

В MouseDown вставляеш SendMessage(wnd,WM_SYSCOMMAND, $F012, 0);


Prov   (2004-01-22 08:11:00) [5]

Я делал так:
обработать WM_NCHITTEST ??? +HT_CAPTION(точно не помню)


Diamond Cat   (2004-01-20 21:48:00) [6]

2 easy ©
А не проще result от wm_ncbuttondown ставить в htcaption


Bers01   (2004-01-20 17:28:00) [7]

Спасибо!


easy   (2004-01-20 17:08:00) [8]

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;  
 Shift: TShiftState; X, Y: Integer);  

begin  
ReleaseCapture();  
SendMessage(form1.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);  
end;


Наверх

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