Firemonkey Delphi Seattle - Aplicação com formulários independentes.
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
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
Curtidas 0