Firemonkey Delphi Seattle - Aplicação com formulários independentes.

Delphi

29/06/2016

Boa noite,

Para criar uma aplicação Windows com formulário independentes utilizo o seguinte código sobrescrevendo o CreateParams da class TForm.
Exemplo:

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
public
procedure CreateParams(var Params: TCreateParams); override;
end;

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);

Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := 0;
end;

Funciona perfeitamente como mostra a imagem "Form principal e secundário minimizado".
http://www.sistemas-agic.com.br/imagem-01.png

Como faço o mesmo em um aplicação Firemonkey?

Tentei utilizar da mesma forma sobrescrevendo o Create da classe TForm "Firemonkey"

Da seguinte forma:

type
TForm2 = class(TForm)
public
constructor Create(AOwner: TComponent); override;
end;

constructor TForm2.Create(AOwner: TComponent);
var
Wnd: HWND;
begin
inherited Create(AOwner);

Wnd := WindowHandleToPlatform(Self.Handle).Wnd;
SetWindowLong(Wnd, GWL_EXSTYLE, WS_EX_APPWINDOW);
end;

Vai criar a segunda janela na barra de tarefa normal.
Mais ficamos com dois problemas, quando minimizo o form principal ele oculta os forms secundários.
Quando clico na barra de tarefa para maximizar ele restaura todos os forms secundário e o pior fica por baixo do form principal.

Alguém já passo por este problema?

Desde já muito obrigado pela atenção

Atenciosamente,
Leonardo Rehder
Leonardo Rehder

Leonardo Rehder

Curtidas 0
POSTAR