Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 482
  • Last Modified:

Windows 7 Taskbar API: How to add entries for a taskbar button for multiple windows

When I run my Delphi application, Windows 7 shows a taskbar button in the Windows taskbar. When the user opens a new form in my application, I want that the taskbar button for my application is visually changed and when the user clicks on it a popup appears with a list of the windows (see picture).

Windows taskbar button

So basically the standard Windows behaviour like in Outlook when you have multiple emails open at the same time.

I searched the web and found a few "solutions", but they don't work for me. Maybe I overlook something really easy but I cannot find it. I attached my sample that does not work and I would like somebody to fix it.

When you run the program, click on the button to open a new window. Now the taskbar button should have changed to indicate that there is a new window for this app but it doesn't do that.

I would be pleased if someone can change the program so that it works.

Regards,
Dirk.
Test2.zip
0
dirkil2
Asked:
dirkil2
1 Solution
 
Sinisa VukCommented:
Remove all code except that from Button click event. Add these lines:
...
private
  procedure CreateParams(var Params: TCreateParams); override;
...

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;
  //set form ext. params
  Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
  //set parent for your form
  Params.WndParent := GetDesktopWindow;
end;

Open in new window


... similar is here... http://www.swissdelphicenter.ch/torry/showcode.php?id=775
0
 
dirkil2Author Commented:
Absolutely perfect!! Thank you very much for your help which made my day!
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now