进度条的演示。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值