DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: sharehb
今日帖子: 8
在线用户: 21
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 ganbing (干冰) ★☆☆☆☆ -
盒子活跃会员
2003/11/12 15:07:17
标题:
使用progressBar问题 浏览:2802
加入我的收藏
楼主: 应该在窗体的什么事件中填写动态创建progressBar事件
要求是窗体显示后,不需人工干预(比如说点击按钮),
根据其他的创建进度,由progressBar来显示
----------------------------------------------
尽情舒展,是一种向往,想去的地方、想拥有的感受,尽管追求!
作者:
男 zizii (高高高级馒头) ★☆☆☆☆ -
神秘会员
2003/11/12 17:47:03
1楼: onshow就可以。
----------------------------------------------
维护世界和平,共创美好盒子。
作者:
男 ganbing (干冰) ★☆☆☆☆ -
盒子活跃会员
2003/11/12 20:39:27
2楼: 这个进度条不显示

帮我看看,什么问题,

unit U_welcome;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls;
  var  mouseClick: Boolean;

type
  TF_welcome = class(TForm)
    Image1: TImage;
    Timer1: TTimer;
    StatusBar1: TStatusBar; // 进度条组件的尺寸
    procedure Timer1Timer(Sender: TObject);
    procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    procedure FormShow(Sender: TObject);
  private
    progressBar:TProgressBar;// 进度条组件
    ProgressBarRect:TRect;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_welcome: TF_welcome;

implementation
const    crPhon_e=3;   // 自定义光标数组索引号
         crMouseWait=1;
         crMouseClick=2;
var  loadCur1, loadCur2, loadCur3: integer;
{$R *.dfm}

procedure TF_welcome.Timer1Timer(Sender: TObject);
begin
  timer1.Enabled:=false;
end;

procedure TF_welcome.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  progressBarRect:=Rect;
end;

procedure TF_welcome.FormShow(Sender: TObject);
begin
  progressBar:=TProgressBar.Create(F_welcome);//动态创建进度条组件progressBar
  with progressBar do
    begin      // 先确定进度条组件的尺寸和位置
      Top:=ProgressBarRect.Top;
      Left:=ProgressBarRect.Left;
      Width:=ProgressBarRect.Right-ProgressBarRect.Left;
      Height:=ProgressBarRect.Bottom-ProgressBarRect.Top;
      visible:=true;   //使进度条可见
      Parent:=StatusBar1; // parent属性设置为状态栏组件
      Min:=0; // 设定进度条的范围和步长
      Max:=100;
      Step:=10;
    end;

  loadCur1:=LoadCursorFromFile('phone.ani');  // 加载等待动态光标
  if loadCur1<>0 then
    begin
      screen.Cursors[crPhone]:=loadCur1;
      progressBar.StepIt;
    end
  else
    showmessage('加载动态光标文件(Phone)出错!');

  loadCur2:=LoadCursorFromFile('MouseClick.ani');  // 加载鼠标点击动态光标
  if loadCur2<>0 then
    begin
      screen.Cursors[crMouseClick]:=loadCur2;
      progressBar.StepIt;
    end
  else
    showmessage('加载动态光标文件(MouseClick)出错!');

  loadCur3:=LoadCursorFromFile('phone.ani');  // 加载电话动态光标
  if loadCur3<>0 then
    begin
      screen.Cursors[crPhone]:=loadCur3;
      progressBar.StepIt;
    end
  else
    showmessage('加载动态光标文件(mouseWait)出错!');

  while (ProgressBar.Position < ProgressBar.Max) do
  begin
      // move the ProgressBar Position using StepIt
    ProgressBar.StepIt; // move by Step amount
  end;

progressBar.Free; //最后释放进度条组件占用的资源
end;

end.



----------------------------------------------
尽情舒展,是一种向往,想去的地方、想拥有的感受,尽管追求!
作者:
男 12521052 (混世生) ★☆☆☆☆ -
盒子活跃会员
2003/11/12 21:06:36
3楼: 你先把進度條建立在FORM上,規定他的上、左、寬、高,看看顯示不。
----------------------------------------------
——混世生
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2003/11/18 9:42:50
4楼: 动态的进度条不太好做 偶都是用静态的
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 kingking (kk) ★☆☆☆☆ -
普通会员
2003/11/18 15:41:45
5楼: 再发一遍

你需要交换
visible:=true;
Parent:=StatusBar1;
这两句,
visible:=true; 一般放到所有初始化语句的最后.
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行949.2188毫秒 RSS