在Delphi中如何让一个窗体出现在任务栏上?例如,在 Firefox 中,当您在新窗口中打开页面时,它会在任务栏上创建另一个窗口,而无需创建新进程。目前我的 Delphi 应用程序在单击按钮时会打开一个新窗体,但任务栏上仍然只有一件事,因此您不能在主窗体和单击按钮时创建的窗体之间使用 alt-tab点击。我如何更改它以便新窗体出现时带有新的任务栏按钮?我当前的代码如下所示:
procedure Form1ButtonClick(Sender: TObject);
begin
Form2.Show;
end;
我一直在摆弄 CreateWindowEx
,但理想情况下我想找到一个比直接使用 Windows API 更简单的解决方案。
最佳答案
如果我正确理解您的需求,您可以通过覆盖它的 CreateParams 过程在任务栏上显示您的辅助表单,如 Minimize child forms independent of the main form 中所述。 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;
关于windows - 如何获得不是主窗体的窗体的任务栏按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5493591/