问Win32 SDK的高手?(50分)

  • 主题发起人 主题发起人 kenmaj
  • 开始时间 开始时间
K

kenmaj

Unregistered / Unconfirmed
GUEST, unregistred user!
请熟悉API的高手讲一下窗体在拖动时的过程和消息?
 
用Delphi的 WinSight32监视一下<br>
 
移动时:<br>WM_WINDOWPOSCHANGING<br>WM_MOVING<br><br>移动后:<br>WM_WINDOWPOSCHANGED<br>WM_MOVE<br>
 
To cqbaobao<br>&nbsp; 如果我截获WM_WINDOWPOSCHANGING,在条件满足(如边界超过了父窗口)是我要停止拖动,<br>是不是发送WM_WINDOWPOSCHANGED消息就可以了?<br>如不是应该怎么办?
 
是处理WM_MOVING消息
 
具体点?为什么是处理WM_MOVEING消息?
 
因为 WM_WINDOWPOSCHANGING 在窗口的显示和隐藏时也会产生,<br>如果你只需要处理移动,就可以用 WM_MOVING,<br>用法可以参考如下:<br><br>procedure TForm1.OnWmMoving(var Msg: TMessage);<br>var<br>&nbsp; pr: ^TRect;<br>begin<br>&nbsp; pr := Pointer(Msg.LParam);<br>&nbsp; if pr^.Left &lt; 200 then pr^.Left := 200;<br>end;
 
后退
顶部