unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls;
{=====================================================
DESIGN BY : 花好月圆 / 玉面书生
DATE: 2005-01-27
SITE: http://www.eastrise.cn/quick2004
BLOG: http://blog.csdn.net/jackie168
EMAIL: joe-lu@163.com
文章为作者原创,转载前请先与本人联系,转载请注明文章出处、保留作者信息,谢谢支持!
=====================================================}
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 then PanelBar.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.
******************* 窗体文件内容(Unit1.dfm):*******************
object Frm_PanelBar: TFrm_PanelBar
Left = 374
Top = 263
BorderIcons = [biSystemMenu, biMinimize]
BorderStyle = bsSingle
Caption = #36827#24230#26465#30340#28436#31034
ClientHeight = 144
ClientWidth = 393
Color = clBtnFace
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = #23435#20307
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 12
object Bevel1: TBevel
Left = 8
Top = 8
Width = 377
Height = 81
Shape = bsFrame
end
object Label1: TLabel
Left = 155
Top = 58
Width = 72
Height = 12
Caption = 'BrushColor'#65306
end
object BarFrame: TPanel
Left = 24
Top = 24
Width = 347
Height = 17
BevelInner = bvLowered
BevelOuter = bvNone
TabOrder = 2
object PanelBar: TImage
Left = 1
Top = 1
Width = 25
Height = 15
Picture.Data = {
07544269746D61702E020000424D2E0200000000000036000000280000000C00
00000E0000000100180000000000F80100000000000000000000000000000000
0000FEE4C0FEE4C0FEE4C0FEE4C0FEE4C0FEE4C0FEE4C0FEE4C0FBE5BCFBE5BC
FBE5BCFBE5BCFAE0B2FAE0B2FAE0B2FAE0B2FAE0B2FAE0B2FAE0B2FAE0B2FADF
B3FADFB3FADFB3FADFB3F6D6A5F6D6A5F6D6A5F6D6A5F6D6A5F6D6A5F6D6A5F6
D6A5F8D7A6F8D7A6F8D7A6F8D7A6F6D6A5F6D6A5F6D6A5F6D6A5F6D6A5F6D6A5
F6D6A5F6D6A5F8D7A6F8D7A6F8D7A6F8D7A6F6CB98F6CB98F6CB98F6CB98F6CB
98F6CB98F6CB98F6CB98F6CC97F6CC97F6CC97F6CC97F5C18CF5C18CF5C18CF5
C18CF5C18CF5C18CF5C18CF5C18CF4C38BF4C38BF4C38BF4C38BF3BE7FF3BE7F
F3BE7FF3BE7FF3BE7FF3BE7FF3BE7FF3BE7FF3BD80F3BD80F3BD80F3BD80F3BD
81F3BD81F3BD81F3BD81F3BD81F3BD81F3BD81F3BD81F3BD81F3BD81F3BD81F3
BD81F3CA99F3CA99F3CA99F3CA99F3CA99F3CA99F3CA99F3CA99F4CA9BF4CA9B
F4CA9BF4CA9BF9D5B1F9D5B1F9D5B1F9D5B1F9D5B1F9D5B1F9D5B1F9D5B1F7D6
AFF7D6AFF7D6AFF7D6AFF9E5CCF9E5CCF9E5CCF9E5CCF9E5CCF9E5CCF9E5CCF9
E5CCFBE5CCFBE5CCFBE5CCFBE5CCFEEFDFFEEFDFFEEFDFFEEFDFFEEFDFFEEFDF
FEEFDFFEEFDFFAEFE1FAEFE1FAEFE1FAEFE1FEEFDFFEEFDFFEEFDFFEEFDFFEEF
DFFEEFDFFEEFDFFEEFDFFAEFE1FAEFE1FAEFE1FAEFE1FDEFE3FDEFE3FDEFE3FD
EFE3FDEFE3FDEFE3FDEFE3FDEFE3FCEFE1FCEFE1FCEFE1FCEFE1}
Stretch = True
end
object PanelLab: TLabel
Left = 172
Top = 2
Width = 12
Height = 12
Caption = '0%'
Transparent = True
end
end
object Button1: TButton
Left = 109
Top = 104
Width = 75
Height = 25
Caption = 'Start'
TabOrder = 0
OnClick = Button1Click
end
object Button2: TButton
Left = 245
Top = 104
Width = 75
Height = 25
Caption = 'Stop'
TabOrder = 1
OnClick = Button2Click
end
object CheckBox1: TCheckBox
Left = 24
Top = 58
Width = 97
Height = 17
Caption = 'ShowText'
Checked = True
State = cbChecked
TabOrder = 3
OnClick = CheckBox1Click
end
object ColorBox1: TColorBox
Left = 227
Top = 53
Width = 145
Height = 22
DefaultColorColor = clBtnFace
NoneColorColor = clBtnFace
Selected = clBtnFace
ItemHeight = 16
TabOrder = 4
OnChange = ColorBox1Change
end
object Timer1: TTimer
Enabled = False
Interval = 20
OnTimer = Timer1Timer
Left = 48
Top = 96
end
end