运行看看效果。
不定的:进度颜色的边缘是渐变的;
正常的:就是绿色的进度条;
出错的:就是红色的进度条;
暂停的:就是黄色的进度条。
再来看覆盖图标
就是可以再任务栏图标上再覆盖一个小图标,可以用表示状态之类的。
新建一个窗口,放置一个ImageList,添加几个icon,再放一个Timer,我们用定时器来不停地变换覆盖图标。如果你的图标设置的足够好,还可以模拟动画效果啊。
代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShlObj, ActiveX, ComObj, ExtCtrls, StdCtrls, ImgList;
type
TForm1 = class(TForm)
Button1: TButton;
ImageList1: TImageList;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
FTaskBarList : ITaskbarList4;
FIcon : TIcon;
FIconIndex : Integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
FTaskBarList := CreateComObject(CLSID_TaskbarList) as ITaskbarList4;
FIcon := TIcon.Create;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FIcon.Free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if FIconIndex < ImageList1.Count then
begin
Inc(FIconIndex);
end
else
begin
FIconIndex := 0;
end;
ImageList1.GetIcon(FIconIndex, FIcon);
FTaskBarList.SetOverlayIcon(Handle, FIcon.Handle, '');
end;
end.
看到我的程序图标右下角的小图标了吗?就是这个样子了。
添加按钮:
新版迅雷在Windows7上运行的时候会在缩略图上添加三个按钮。
可以实现任务的添加、下载、暂停等功能。