delphi 任务栏显示进度条 CreateComObject(CLSID_TaskbarList) as ITaskbarList4  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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.

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.036021947860718 seconds