Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Сворачивание вторичной формы на панель задач

Delphi , Рабочий стол , TaskBar

Сворачивание вторичной формы на панель задач

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

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;

Here is a translation of the text into Russian:

Делфи-код, который настраивает поведение второстепенной формы (инстанции класса TForm) в панели задач. Цель - сделать ее похожей на окно приложения, а не на обычную форму.

Пусть разберемся, что происходит:

  1. В разделе интерфейса определена класс TForm с защищенным методом CreateParams. Метод переопределен (отмечен ключевым словом override) для предоставления кастомных параметров создания формы.
  2. В разделе реализации метод CreateParams реализован. Он вызывает версию наследника метода CreateParams с помощью ключевого слова inherited, которое обеспечивает сохранение любого 기본ного поведения.
  3. Свойство Params.ExStyle устанавливается с использованием оператора побитового OR (or) для комбинации существующего значения с стилем WS_Ex_APPWINDOW. Это делает форму похожей на окно приложения, позволяя ее минизировать, максимизировать и восстановить как обычное приложение.
  4. Свойство Params.WndParent устанавливается в GetDesktopWindow, которое возвращает handle для десктопного окна. Это задает родительское окно формы на десктоп, эффективно делая ее верхним уровнем окна.

Таким образом, данный код обеспечивает, чтобы второстепенная форма отображалась в панели задач как иконка приложения, а не как обычное окно формы.

Альтернативное решение:

Вместо модификации метода CreateParams можно использовать свойство FormStyle, чтобы достичь аналогичного результата. Например:

procedure TForm2.Create;
begin
  inherited Create;
  FormStyle := fsMDIApp; // или fsSingle, если вы хотите, чтобы она была standalone-окном
end;

Это устанавливает стиль формы в fsMDIApp, что делает форму похожей на окно приложения. Однако помните, что данный подход может иметь различные эффекты на поведение и внешний вид формы по сравнению с модификацией CreateParams.

В статье описывается способ сворачивания вторичной формы на панель задачи в Delphi, демонстрируя пример кода для реализации этой функциональности.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: TaskBar ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 19:56:44/0.0066349506378174/2