delphi 任务栏显示进度条 CreateComObject(CLSID_TaskbarList) as ITaskbarList4


本文整理自网络,侵删。

 
unit Unit9;
interface
uses
  System.Classes, System.SysUtils, Vcl.Controls, Vcl.Forms, Vcl.StdCtrls,
  Vcl.ExtCtrls, ShlObj;
  //ShellAPI,  ObjectArray, PropSys, ExtCtrls, ImgList, DwmApi;
type
  TForm9 = class(TForm)
    btnProgressbar: TButton;
    tmr1: TTimer;
    edtValue: TEdit;
    btnSetValue: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btnProgressbarClick(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
    procedure btnSetValueClick(Sender: TObject);
  private
    { Private declarations }
    TBL: ITaskbarList4;
    I: Integer;
  public
    { Public declarations }
  end;
var
  Form9: TForm9;
implementation
uses  ComObj;
//uses ActiveX, ComObj, Math;
{$R *.dfm}
procedure TForm9.btnSetValueClick(Sender: TObject);
begin
  TBL.SetProgressValue(Handle, StrToIntDef(edtValue.Text, 50), 100); //设置值 和最大值
end;
procedure TForm9.btnProgressbarClick(Sender: TObject);
begin
  tmr1.Enabled := not tmr1.Enabled;//定时器 
end;
procedure TForm9.FormCreate(Sender: TObject);
begin
  I := 0;
  TBL := CreateComObject(CLSID_TaskbarList) as ITaskbarList4; //创建对象
  TBL.SetProgressState(Handle, TBPF_NOPROGRESS or TBPF_INDETERMINATE); //初始化
  // or TBPF_INDETERMINATE
end;
procedure TForm9.tmr1Timer(Sender: TObject);
begin
  if I < 100 then
    Inc(I);
  TBL.SetProgressValue(Handle, I, 100);
  if I >= 100 then
  begin
    TBL.SetProgressState(Handle, TBPF_NOPROGRESS);
    tmr1.Enabled := False;
    I := 0;
  end;
end;
end.

相关阅读 >>

Delphi 如何解析网址?

Delphi xe6新增特性及功能

Delphi 实现禁用“任务管理器”

Delphi用多媒体库 bass.dll 播放 mp3 - 打开、播放、暂停、停止

Delphi里面控制edit只能输入数字

Delphi 关闭进程方法

Delphi 一组数据,按由大到小进行排序,并输出最大值与最小值

Delphi xe5 安卓设置屏幕横屏竖屏

Delphi 读取剪粘板内的html格式数据

Delphi tstrings 过滤空行

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...