Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как свернуть форму, находящуюся в режиме FullScreen?


d7d1cd

Вопрос

Рекомендуемые сообщения

  • 0
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 свернет все как надо, независимо от того - какое у него "состояние".

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...