F fcf Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #1 让程序在运行状态可由用户在Form当中随意移动一个Edit框的位置。 我设置了它的DragMode和DragKind属性,但在移动时该Edit框会出来 一个窗体罩着它,而且可以把它移到此Form外。 请问,该如何使它移动时无窗体且限制于此Form中?
让程序在运行状态可由用户在Form当中随意移动一个Edit框的位置。 我设置了它的DragMode和DragKind属性,但在移动时该Edit框会出来 一个窗体罩着它,而且可以把它移到此Form外。 请问,该如何使它移动时无窗体且限制于此Form中?
O o*o Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #2 procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin releaseCapture; edit1.Perform(WM_SYSCOMMAND,$f012,0); end;
procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin releaseCapture; edit1.Perform(WM_SYSCOMMAND,$f012,0); end;
F fcf Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-13 #3 谢谢o*o, 而且此做法还不能设置DragMode和DragKind属性。若设置了该属性则问题依旧。
F fcf Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-19 #5 o*o: 这么做有个后遗症:它不能再响应其他事件了!怎么解决?我额外再给你100分。急!
O o*o Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-19 #6 这个我倒没注意。不知影响了哪个事件。 试试下面的,不用OnMouseDown,看看有没有影响。 procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin releaseCapture; edit1.Perform(WM_SYSCOMMAND,$f012,0); end; end;
这个我倒没注意。不知影响了哪个事件。 试试下面的,不用OnMouseDown,看看有没有影响。 procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin releaseCapture; edit1.Perform(WM_SYSCOMMAND,$f012,0); end; end;
F fcf Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-21 #7 没用。 影响了如OnMouseUP, OnDragDrop, OnStartDock等几乎所有的事件,都没法再触发了。
Z zhjwjan Unregistered / Unconfirmed GUEST, unregistred user! 2000-07-24 #10 对于这个问题我也很想知道答案,另外,如何让EDIT控件象输入法的编码窗那样拖动?