All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
《Effective,C#》:值类型和引用类型_.net资料_编程技术
Linux环境下如何使用PHP处理图像_[PHP教程]
黑客教程系列之微型PHP木马的探讨_php资料_编程技术
.NET内置对象之Response对象_[Asp.Net教程]
Sql Server 2000数据库日志日益庞大的解决方法_[SQL Server教程]
asp.net2.0网站语法之服务器端文件包含
php和explode_php资料_编程技术
PHP实现gzip页面压缩方法_[PHP教程]
PHP实例:PHP安全编程之加密功能_[PHP教程]
第六篇:ListView控件与DataPager控件详解(2)_[Asp.Net教程]
Reading number is top 10 pictures
The girl of like self-time
China's family planning commission forced abortions 270 million newborns for 30 years
More attractive than sora aoi4
真正的国产-非模拍 贵在是真实2
重口味人造肉
2012 national geographic daily picture2
Athena chu perspective cheongsam shine with New York
Beautiful Japanese beauty(漂亮的日本美女)3
The money of more than 100 countries and regions1
哥斯达黎加的门将是如何练成的
Download software ranking
Wild things 2
Boxer vs Yellow4
仙剑奇侠传98硬盘WINXP版
I'm come from Beijing2
网页特效实例大全
Boxer Classic video1
都市狐狸姑娘传
Rio big adventure
网络管理员第三版
Ashlynn Video2
aaa published in(发表于) 2014/7/19 0:11:15 Edit(编辑)
Delphi带进度条的状态栏实例

Delphi带进度条的状态栏实例

Delphi带进度条的状态栏实例

带进度条的状态栏

实例说明

上网浏览网页的读者都用过IE浏览器,在打开网页的过程中,浏览器下面的状态栏中有一个进度条显示当前网页的载入进度。这样的状态栏使界面显得更加丰富多彩,并且非常实用。在程序中怎样实现这样的状态栏呢?本例将设计一个带进度条的状态栏,并且在程序运行中进度条可以显示其进度,运行结果如图1.10所示。



技术要点

可视组件的Parent属性表示其父窗体,且该组件会在其父窗体中显示。在程序设计期间,进度条只能被放在窗体或其他容器中,所以只能在程序运行时来改变此属性。但是读者应该注意,组件的Parent属性只能赋予一个TWinControl继承下来的组件,否则编译器会提示出错。Delphi中的APPlication对象提供的ProcessMessages方法可以从消息队列中取出属于该程序的消息,循环过程中执行该方法即可响应将窗口的消息分发到消息目标窗口中,从而得到相应。

实现过程

1.新建一个标准工程,创建一个新窗体,默认主窗体的Name属性为Form1。

2.在窗体中添加TImage、TButton、TStatusBar、TXPManifest组件。

3.设置TImage组件的Align属性为alClient,设置Stretch属性为True。

4.程序代码如下:

procedure TForm1.Button3Click(Sender: TObject);

var

I,Count:integer;

Pane1Windth:integer;

begin

StatusDrawRect.Left:=100;

StatusDrawRect.Right:=3000;

StatUsDrawRect.Top:=2;

StatusDrawRect.Bottom:=20;

Progress:=TProgressBar.Create(Form1);//在Form1窗体上创建Progress控件

Count:=300;//设置进度条的最大值

Pane1Windth:=StatusBar1.Panels[2].Width;

//设置进度条的宽度和信息栏相等

StatusBar1.Panels.Items[2].Width:=150;//改变宽度

Statusbar1.Repaint;

with Progress do

begin

//--------------------------

Top:=StatusDrawRect.Top;

Left:=StatusDrawRect.Left;

Width:=StatusDrawRect.Right-StatusDrawrect.Left;

Height:=StatusDrawRect.Bottom-StatusDrawRect.Top;

//---------------------------

Visible:=True;

Try

Parent:=StatusBar1;//将进度条放在信息栏上

Min:=0;

Max:=Count;//进度套最大值

Step:=1;

For I:=1 to Count do

begin

sleep(10);

Application.ProcessMessages;

Stepit;

end;

ShowMessage('完成操作,释放此组件');

Finally

Free;//释放进度条

End;

end;

StatusBar1.Panels.Items[2].Width:=Pane1windth;//恢复宽度

end;

end.




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.