Сделать кнопку на TaskBar для каждого окна
У многооконного приложения, как Delphi, обычно только одна кнопка на TaskBar. Если же вам понадобилось, чтобы у каждого окна была своя кнопка, воспользуйтесь функцией SetWindowLong, добавив флаг WS_EX_APPWINDOW.
В модуле первого окна:
uses Unit2, Unit3;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
Form1.Hide;
Form2.Show;
Form3.Show;
end;
|
В модуле второго окна:
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;
|
В модуле третьего окна:
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;
|
|