Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 23.02.2021, 13:45   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,855
Вопрос Показать в Taskbar кнопку конкретной формы

Доброго времени суток!
Есть программа с тремя формами (основная и две дочерние).
У дочерних форм кнопку в Taskbar отображаю так:
Код:
type
  TFormN = class(TForm)
...
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;
...
procedure TFormN.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.WndParent := 0;
end;
Кнопка дочерних форм отображается при показе этих же форм.
Как отобразить в Taskbar кнопку дочерней формы не показывая саму форму?
Shouldercannon вне форума Ответить с цитированием
Старый 27.02.2021, 17:20   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,440
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Как отобразить в Taskbar кнопку дочерней формы не показывая саму форму?
(источник)
В модуле первого окна:

Код:
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;
beegl вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение Taskbar.ProgressValue при минимизации формы. Artemud Общие вопросы Delphi 0 28.05.2020 18:15
По нажатию на кнопку Показать приложение должно открыть новое окно и показать в нем заказанные картинки с короткими подписями Zerroz JavaScript, Ajax 0 26.04.2017 23:56
Скрыть кнопку с taskbar'а alexprey Общие вопросы Delphi 9 19.12.2010 20:54
Спрятать или показать кнопку окна в таскБаре Altera Win Api 3 09.12.2009 09:03
Показать ADOConnection1.Connectionstring по нажатию на кнопку hitch1 БД в Delphi 9 07.12.2009 17:44


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS