关于在窗体内拖动控件控件的问题。 (50分)

  • 主题发起人 主题发起人 helloymz
  • 开始时间 开始时间
H

helloymz

Unregistered / Unconfirmed
GUEST, unregistred user!
我要拖动一个panel,在panel的mousedown中这样写<br><br>ReleaseCapture;<br>PostMessage(pnlDoc.Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);<br><br>可是我在拖动的过程中要怎么样才能得到panel当前的位置,即left和top?<br>例如我要控制拖动的时候不能超过某个边界?
 
TControl.OnDragOver<br>&nbsp; &nbsp; Occurs when the user drags an object over a control.<br><br>&nbsp;TDragOverEvent = procedure(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) of object;<br><br>The Source is the object being dragged, the Sender is the potential drop or dock site, and X and Y are screen coordinates in pixels. The State parameter specifies how the dragged object is moving over the control.
 
可是使用上面那个方法拖动的时候不触发窗体的ondragover事件啊。。。
 
是的,不过可以得到窗体的位置和panel原来的位置啊。
 
可是我要的是拖动过程中的位置啊~~
 
拖动过程中的位置在OnDragOver事件中的X,Y参数中。
 
后退
顶部