拦截消息的方法定义:
procedure 自定义方法名(var Msg: TMessage); message 待拦截的消息常量;
当你想拦截某个消息时,只需按上边的方法结构声明即可.
比如响应移动消息的方法命名:
procedure CustMove(var Msg: TMessage); message WM_MOVE;
为什么窗口大小改变后,就会触发 WM_SIZE 消息????
Delphi中关键字message的用法???
怎么定义自己的消息??
转自Lhttp://bbs.csdn.net/topics/390392261 //无聊时狂下论坛,总有收获的。
里面提到一段代码
procedure TForm1.Button1Click(Sender: TObject);var Size: Integer;begin { 先将按钮自身移到窗口左上角,以免窗口缩小后被遮挡 } (Sender as TButton).Left := 0; //这个 Sender 从代码中理解就是 触发该单击事件的对象。 (Sender as TButton).Top := 0; //再将该对象强制转换为 TButton 类型,再调用类型中的方法。 { 获取一个随机数,可正可负 } Randomize; Size := Random(100) - 50; { 设置窗口的新大小 } Width := Width + Size; Height := Height + Size; { 当窗口大小改变后,就会触发 WM_SIZE 消息,从而调用我们定义的 TForm1.Refresh }end;

浙公网安备 33010602011771号