Como mover o Form sem a barra de titulo no FMX? queria criar uma nova barra de titulos.
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
Curtidas 0
Melhor post
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.
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
29/06/2018
Veja um exemplo :
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
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
29/06/2018
Tentei colocar esse
mas da erro, só pra lembrar, estou no FMX.
MovimentaObject(sender,button,shift,x,y,Form1);
mas da erro, só pra lembrar, estou no FMX.
GOSTEI 0
Bruno Garcia
29/06/2018
Bacana!!! Deu Certinho, Obrigado
GOSTEI 0