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
dirkil2Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Sinisa VukConnect With a Mentor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.