一个漂亮的进度条的演示...for Delphi
Delphi自带的进度条控件很一般,看到别人的进度条都很漂亮,好仙幕的说...几次冲动之下很想为自的程序的进度条也美化一下,怎么做呢?
一般有2种方法:
1、用第三方控件 //又不想用到第三方
2、自已画出来 //难度太大,非我等菜鸟能做到
下面介绍第3种方法:
几经思量之下,终于想出了个方法,哈~~~(看下面代码吧)
unit Unit1;
inte***ce
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialog*, **tCtrls, StdCtrls, ComCtrls;
type
TFrm_PanelBar = class(TForm)
Button1: TButton;
Timer1: TTimer;
Button2: TButton;
BarFrame: TPanel;
PanelBar: TImage;
PanelLab: TLabel;
CheckBox1: TCheckBox;
ColorBox1: TColorBox;
Label1: TLabel;
Bevel1: TBevel;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ColorBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_PanelBar: TFrm_PanelBar;
implementation
{$R *.dfm}
procedure TFrm_PanelBar.Timer1Timer(Sender: TObject);
var n,m:integer; //变量
begin
//-----------------------------显示进度条状态--------------------------------
PanelBar.Width:=PanelBar.Width+1;
n:=PanelBar.Width;
m:=BarFrame.Width-2;
Panellab.Caption:=FormatFloat('0',n/m*100)+'%';
//-----------------------------循环滚动进度条--------------------------------
if PanelBar.Width=BarFrame.Width-2 thenPanelBar.Width:=0;
end;
procedure TFrm_PanelBar.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=true;
end;
procedure TFrm_PanelBar.Button2Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
procedure TFrm_PanelBar.FormCreate(Sender: TObject);
begin
//-----------------------------初始化数据-------------------------------------
PanelBar.Left:=1;
PanelBar.Top:=1;
PanelBar.Width:=0;
PanelBar.Height:=BarFrame.Height-2;
PanelLab.Top:=(BarFrame.Height-PanelLab.Height) div 2;
PanelLab.Left:=(BarFrame.width-PanelLab.width) div 2;
//-------------------------------开双缓区-------------------------------------
self.DoubleBuffered:=true;
end;
procedure TFrm_PanelBar.CheckBox1Click(Sender: TObject);
begin
//------------------------------是否显示进度标签-----------------------------
PanelLab.Visible:=not PanelLab.Visible;
end;
procedure TFrm_PanelBar.ColorBox1Change(Sender: TObject);
begin
//------------------------------设置背景颜色---------------------------------
BarFrame.Color:=ColorBox1.Selected;
end;
end. 支持。。。。。。。 支持,支持... 做个成品出来欣赏欣赏。。。呵呵。 原帖由 野猫III 于 2006-6-18 18:28 发表
做个成品出来欣赏欣赏。。。呵呵。
重新编译了一下,给猫欣赏欣赏.......... 呵呵,黑色也是用delphi的吗?有空多交流啊 原帖由 sislcb 于 2006-6-22 19:47 发表
呵呵,黑色也是用delphi的吗?有空多交流啊
是啊,是啊。有空多交流。。。 :handshake 强!学习了。 好贴就要支持! 支持了,不会用Delphi,只有羡慕的份啦~:P
页:
[1]
2