使用BorderStyle bsNONE移动表单?

时间:2012-08-07 06:31:36

标签: macos delphi delphi-xe2 firemonkey

如果BorderStyle设置为bsNONE边框样式,如何移动表单? 在firemonkey MAC OS X中

2 个答案:

答案 0 :(得分:1)

如果没有表单标题,您需要为用户移动自己的方法来移动表单。

要在代码中移动表单,您可以设置表单的Left和Top属性。

答案 1 :(得分:0)

您可以在HD FireMonkey XE4桌面应用程序中执行此操作:

var
Form1: TForm1;
isDraging: boolean;
X0, Y0: single;

implementation

{$R *.fmx}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  isDraging := True;
  X0 := X;
  Y0 := Y;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Single);
begin
  if isDraging then
  begin
    Form1.Left := Trunc(Form1.Left + X - X0);
    Form1.Top := Trunc(Form1.Top + Y - Y0);
  end;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
begin
  isDraging := False;
end;

经过测试并适用于Windows 7和Mac OS X Lion。