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 webservice 中采用 tsoapattachment 传输文件

Delphi 取整算法集合

winapi 字符及字符串函数(3): charupper - 字符或字符串转大写

Delphi链接自己的主页和邮件

Delphi ioutils单元查找文件夹下所有文件

Delphi webbrowser控件里编辑网页

Delphi安全结束线程

Delphi内嵌汇编实现�载任意进程的某个dll

Delphi2010中字符串汇编需要注意的一点,以及支持2010的aes加密库

Delphi判断mssql数据库中表格是否存在? 如何批量创建表格?

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



打赏

取消

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

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

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

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

评论

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