На главную

Сделать кнопку на TaskBar для каждого окна

Сделать кнопку на TaskBar для каждого окна

ОГЛАВЛЕНИЕ    HOME  MAIL



У многооконного приложения, как 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;

главная страницазадать вопрос
email: delphi4all@narod.ru
Hosted by uCoz