Как я могу получить кнопки панели задач для форм, которые не являются основной формой?
Как вы создаете форму на панели задач в Delphi? Например, в Firefox, когда вы открываете страницу в новом окне, она создает другое окно на панели задач без создания нового процесса. В настоящее время приложение Delphi открывает новую форму при нажатии кнопки, но на панели задач все еще есть только одна вещь, поэтому вы не можете alt-tab между основной формой и формой, которая создается, когда кнопка щелкнул. Как изменить его, чтобы новая форма появилась с новой кнопкой на панели задач? Мой текущий код выглядит следующим образом:
procedure Form1ButtonClick(Sender: TObject);
begin
Form2.Show;
end;
Я общался с CreateWindowEx
, но в идеале я хотел бы найти более простое решение, чем прямое использование Windows API.
Ответы
Ответ 1
Если я правильно понимаю, что вы хотите, вы можете показать свои вторичные формы на панели задач, переопределив процедуру CreateParams, как описано в Свернуть дочерние формы, не зависящие от в главной форме delphi.about.com, например:
interface
type
TMyForm = class(TForm)
...
protected
procedure CreateParams(var Params: TCreateParams) ; override;
...
implementation
procedure TMyForm.CreateParams(var Params: TCreateParams) ;
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := 0;
end;
Ответ 2
если не использовать эту строку лучше в порядке формы:
Params.WndParent := 0;