Como mover o Form sem a barra de titulo no FMX? queria criar uma nova barra de titulos.

Delphi

29/06/2018

No caso, iria retirar a barra de titulos e criar uma nova toda personalizada pra ficar mais bonito o aplicativo, iria colocar um panel com alguns botoes de fechar e minimizar e arrastar somente no painel para mover o aplicativo.
Bruno Garcia

Bruno Garcia

Curtidas 0

Melhor post

Raimundo Pereira

Raimundo Pereira

29/06/2018

Declare :
uses
FMX.Platform.Win,

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Single);

begin
Self.StartWindowDrag;
end;

end.
GOSTEI 2

Mais Respostas

Raimundo Pereira

Raimundo Pereira

29/06/2018

Veja um exemplo :
procedure MovimentaObject(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer;Formulario:TForm);
var ObjectPos,MousePosMov:TPoint;Pt:TPoint;fHandle:HWND;
begin
  GetCursorPos(Pt);
  ObjectPos.X:=Formulario.Left;
  ObjectPos.Y:=Formulario.Top;
  if(Sender is TForm)then
    fHandle:=TWinControl(Sender).Handle
  else
    fHandle:=TWinControl(Sender).Parent.Handle;
  while DragDetect(fHandle,ObjectPos) do
  begin
    GetCursorPos(MousePosMov);
    Formulario.Left:=MousePosMov.X-X-3;
    Formulario.Top:=MousePosMov.Y-Y-3;
    Application.ProcessMessages;
  end;
end;


No border style do seu form deixe >> bsNone
No seu panel desejado >> no evento

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MovimentaObject(sender,button,shift,x,y,Form1);
end;
Você pode adaptar mais coisas, duplo click ele verifica se está maximizado e minimizar...
O céu é o limite
GOSTEI 0
Bruno Garcia

Bruno Garcia

29/06/2018

Tentei colocar esse
MovimentaObject(sender,button,shift,x,y,Form1);

mas da erro, só pra lembrar, estou no FMX.
GOSTEI 0
Bruno Garcia

Bruno Garcia

29/06/2018

Bacana!!! Deu Certinho, Obrigado
GOSTEI 0
POSTAR