窗口移动的事件如何编程?(100分)

  • 主题发起人 主题发起人 xmzhao
  • 开始时间 开始时间
X

xmzhao

Unregistered / Unconfirmed
GUEST, unregistred user!
可不能用时间控件呀!
 
当然可以啊
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
while Left+Width >0 do Left:=Left-3;
end;
 
WM_MOVE //窗体移动后发送的消息
WM_MOVING //窗体移动时的消息

加入以下过程
procedure FUpdateOnMOve(var Msg: TMsg); message WM_MOVE; //收到移动消息


procedure Tform1.FUpdateOnMOve(var Msg: TMsg); message WM_MOVE; //收到移动消息
begin
showmessage('窗体移动了位置!');
end;

WM_MOVING同WM_MOVE
 
从消自中获取当前窗体位置如下

procedure Tform1.FUpdateOnMOve(var Msg: TMsg); message WM_MOVE; //收到移动消息
begin
showmessage('x='+inttostr(loword(msg.wParam))+' y='+ inttostr(hiword(msg.wParam)));
end;
 
TO seoul_BJ:
在定义过程中,是不是不应该加“ message WM_MOVE; ”,即应为这样,否则出错。
procedure Tform1.FUpdateOnMOve(var Msg: TMsg);
begin
showmessage('x='+inttostr(loword(msg.wParam))+' y='+ inttostr(hiword(msg.wParam)));
end;
再问为什么在移动窗口时会激发FUpdateOnMOve过程,多谢了。
 
你是在厦门吗
 
上网太慢了,好几次都结束不了,多谢了!!
 
多人接受答案了。
 
后退
顶部