C
coocoo
Unregistered / Unconfirmed
GUEST, unregistred user!
在鼠标按下时如下代码将实现一个窗口的拖动:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:longint=$f012;
begin
ReleaseCapture;
sendmessage(form1.Handle,wm_syscommand, SC_DRAGMOVE, 0);
end;
但如果想让form2也同时拖动时,以下代码却无效:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:longint=$f012;
begin
ReleaseCapture;
sendmessage(form1.Handle,wm_syscommand, SC_DRAGMOVE, 0);
sendmessage(form2.Handle,wm_syscommand, SC_DRAGMOVE, 0);
end;
如果在form1的MouseDown里动态设置form2的left和top,form2的移动会有一定的延迟,
从视觉上看并不是和form1一起拖动的,不符合我的需要。
如果我想同时拖动两个窗口需要怎么做?
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:longint=$f012;
begin
ReleaseCapture;
sendmessage(form1.Handle,wm_syscommand, SC_DRAGMOVE, 0);
end;
但如果想让form2也同时拖动时,以下代码却无效:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:longint=$f012;
begin
ReleaseCapture;
sendmessage(form1.Handle,wm_syscommand, SC_DRAGMOVE, 0);
sendmessage(form2.Handle,wm_syscommand, SC_DRAGMOVE, 0);
end;
如果在form1的MouseDown里动态设置form2的left和top,form2的移动会有一定的延迟,
从视觉上看并不是和form1一起拖动的,不符合我的需要。
如果我想同时拖动两个窗口需要怎么做?