unit uHelpers;
interface
uses
FMX.Forms;
type
TForm_Helper = class helper for TForm
procedure Minimize;
procedure SendToTaskbar;
end;
implementation
uses System.UITypes{$IFDEF MSWINDOWS}, Winapi.Windows, FMX.Platform.Win{$ENDIF};
{ TForm_Helper }
procedure TForm_Helper.Minimize;
begin
Application.MainForm:= nil;
WindowState := TWindowState.wsMinimized;
end;
procedure TForm_Helper.SendToTaskbar;
begin
{$IFDEF MSWINDOWS}
SetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE,
GetWindowLong(WindowHandleToPlatform(Handle).Wnd, GWL_EXSTYLE) or WS_EX_APPWINDOW);
{$ENDIF}
end;
end.
у Вашей формы пишем
type
TForm1 = class(TForm)
........
protected
procedure CreateHandle; override;
private
........
public
......
end;
implementation
uses
uHelpers;
{$R *.fmx}
{это позволит сворачивать ваше окно на панель задач, независимо от количества окон в приложении}
procedure TForm1.CreateHandle;
begin
inherited CreateHandle;
SendToTaskbar;
end;
а Minimize свернет все как надо, независимо от того - какое у него "состояние".