I was playing around with some (default Windows) programs these days and noticed that taskbar items for those programs show some cool effects whenever there is some progress going on So I decided to write a little unit to take advantage of these effects in one of my Delphi applications.
To take advantage of the new Windows 7 TaskBar API take a look at the ITaskBarList3 interface (an probably 4 for that matter). I have translated the interface to Delphi and added some initialization code and came up with a little unit that exposes a class helper for TCustomForm.
The final user-friendly code looks like this:
procedure TForm1.Button1Click(Sender: TObject); begin SetProgressState(tbpsError); SetProgressValue(50, 100); end;
The SetProgressState and SetProgressValue methods are inserted by the class helper. The example makes the taskbar icon for the window look like a 50% complete red progress bar (indicating an error):
or something like this for a “indefinite” state (of course the animation is missing so you can’t see the effects):
If you want to play with the unit, take a look here: Windows 7 TaskBar helper for Delphi (2140)