terça-feira, 9 de dezembro de 2008

DICA: Minimizar Forms que não o Principal para a TaskBar

Quando minimizamos um Form secundário da nossa aplicação, este fica sobre a barra de tarefas, logo acima do menu iniciar. Mas, o que fazer para que o nosso form seja minizado direto para a barra de tarefas, como o Word e Excel 2003 fazem? Precisamos modificar os parâmetros de criação da janela. Como? sobrescrevendo o método CreateParams.

O método CreateParams é um método virtual que permite que você faça alterações no registro (record) de parâmetros de criação do form. Alterando esses parâmetros você poderá conseguir diversos efeitos. Entre estes está o efeito desejado: poder minimizar para a TaskBar.

Vamos supor que o seu form chame-se Form2. Aí vai o código necessário para conseguir o efeito desejado.


type
TForm2 = class(TForm)
public
{ Public declarations }
// **********************************
// Acrescente este método ao seu form
// **********************************
procedure CreateParams(var Params: TCreateParams); override;
end;

implementation

{$R *.dfm}

// **********************************
// Acrescente este método ao seu form
// **********************************
procedure TForm2.CreateParams(var Params: TCreateParams) ;
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := GetDesktopWindow;
end;

Nenhum comentário:

 

web analytics software