Delphi程序实现下载进程的动态显示 (1)

2008-02-23 07:13:56来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1 2 3 下一页

许多知名的下载软件中都有下载管理器,用一个TListView来显示下载的进程,你可以清楚的看到已经下载了多少,还有多少内容仍需下载,这样的控件,Delphi自身并未提供,但我们可以在TListView的基础之上加入进度条控件(TProgressBar)来实现这一功能,这样就能既能满足我们的实际需求,又不用“牺牲”口袋里白花花的银子,还能增加我们对控件嵌套的认识,一箭三雕,何乐而不为呢?

  到底该怎么做呢?让我想想……好了让我们先从TListView的ViewStyle属性开始吧,这个属性我们常用,把TListView做为一个表格来显示各种数据时,我们常常把这个属性设置成vsReport,设置之后,最左边的列(Column)包含一个小的图标和数据,从第二列开始就是显示一个个字段的数据,这是我们最常见的TListView的样子,每天一打开Windows的资源管理器,我们就能看到它。

打开Delphi,新建一个工程,在自动生成的Form上,放置一个TListView控件,在它的Columns属性中定义两列,第一列放置数据项(Item),第二列用来存放Progress.

  在Form上加入一个按钮(Button),在按钮的Click事件中加入如下代码,用于在按下按钮时,可以在TListView的第二列显示TProgress。添加Item的代码如下:

procedure TForm1.AddItemButtonClick(Sender: TObject);
const
 PBColumnIndex = 1;
 pbMax = 100;
var
 li : TListItem;
 lv : TListView;
 pb : TProgressBar;
 pbRect : TRect;
begin
 lv := ListViewEx1;
 //建立一个新的ListItem
 li := lv.Items.Add;
 li.Caption := ’Item ’ IntToStr(lv.Items.Count);

 //建立一个ProgressBar,置入TListView的第二列中
 pb := TProgressBar.Create(nil);
 pb.Parent := lv;
 li.Data := pb;
 pbRect := li.DisplayRect(drBounds);
 pbRect.Left := pbRect.Left
 lv.Columns[-1 pbColumnIndex].Width;
 pbRect.Right := pbRect.Left
 lv.Columns[pbColumnIndex].Width;
 pb.BoundsRect := pbRect;
end; //添加ItemButton事件

上一篇: Delphi使用VB编写的ActiveX控件全攻略 (1)
下一篇: DBExpress组件连接远程Mysql数据库

1 2 3 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:用Delphi 2005和DUnit搭建敏捷开发平台 (1)

下一篇:VC和Delphi程序只运行一个实例的方法 (1)