PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Firemonkey Delphi Seattle - Aplicação com formulários independentes. #558756

29/06/2016

0

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

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar