Как отобразить не главные окна своей программы в панели задач Windows |
Previous Top Next |
Code: |
procedure TMyForm.CreateParams(var Params :TCreateParams); {override;} begin inherited CreateParams(Params); {CreateWindowEx} Params.ExStyle := Params.ExStyle or WS_Ex_AppWindow; end;
|
©Drkb::01785
DelphiWorld 6.0
Code: |
type TForm = class(TForm) {...} protected procedure CreateParams(var Params: TCreateParams); override; end;
implementation
{...}
procedure TForm2.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW; Params.WndParent := GetDesktopWindow; end; |
©Drkb::01786
Взято с сайта: http://www.swissdelphicenter.ch
У многооконного приложения, как Delphi, обычно только одна кнопка на TaskBar. Если же вам понадобилось, чтобы у каждого окна была своя кнопка, воспользуйтесь функцией SetWindowLong, добавив флаг WS_EX_APPWINDOW.
В модуле первого окна:
Code: |
uses Unit2, Unit3;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin ShowWindow(Application.Handle, SW_HIDE); Form1.Hide; Form2.Show; Form3.Show; end; |
В модуле второго окна:
Code: |
uses Unit3;
{$R *.DFM}
procedure TForm2.FormCreate(Sender: TObject); begin SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW); end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin if Form3.Visible = false then Application.Terminate; end; |
В модуле третьего окна:
Code: |
uses Unit2;
{$R *.DFM}
procedure TForm3.FormCreate(Sender: TObject); begin SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW); end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin if Form2.Visible = false then Application.Terminate; end; |
©Drkb::01787
DelphiWorld 6.0
Code: |
type TForm2 = class(TForm) private { Private declarations } procedure CreateParams(var Params: TCreateParams); override; end; ...
procedure TForm2.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); with Params do ExStyle := ExStyle or WS_EX_APPWINDOW; end; |
©Drkb::01788
DelphiWorld 6.0