sma*_*871 0 delphi firemonkey delphi-xe3
在VCL表单中我使用WM_SYSCOMMAND,但在firemonkey中它是未声明的.
我测试这段代码:
procedure TForm4.dragPanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
isDraging := true;
X0 := X;
Y0 := Y;
end;
procedure TForm4.dragPanelMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Single);
begin
if isDraging then
begin
Form4.Left := Trunc(Form4.Left + X - X0);
Form4.Top := Trunc(Form4.Top + Y - Y0);
end;
end;
procedure TForm4.dragPanelMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);
begin
isDraging := False;
end;
Run Code Online (Sandbox Code Playgroud)
这是有效的,但只是为了缓慢的移动!
如何在Firemonkey中移动表单?
小智 8
使用Form的StartWindowDrag方法更容易.这样它既可以在Windows和MacOS中使用,也可以在一行代码中使用.像这样:
procedure TForm4.dragPanelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single);
begin
Self.StartWindowDrag;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2217 次 |
| 最近记录: |