CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

进度条

楼主amartapple()2002-11-12 15:10:36 在 C++ Builder / VCL组件使用和开发 提问

请问怎么做一个向photoshop那样的状态栏中的任务进度条  
   
  我的一个计算操作需要很长时间 问题点数:20、回复次数:6Top

1 楼szbug(深圳虫)回复于 2002-11-12 15:15:39 得分 5

在(BCB5)Win32以及Samples个有一个进度条控件,很容易使用的,不知道有什么问题吗?  
   
   
  Top

2 楼borland_boy(疯狂的兔子)回复于 2002-11-12 15:38:14 得分 5

先设置最小的值Min在设置一个最大值Max  
   
  然后做个循环  
   
  不断的给进度条的值增大就实现你要的效果了  
   
  最好在循环里加一条  
   
      ProgressBar1->Position   =   0;  
      ProgressBar1->Max   =   100;  
      ProgressBar1->Min   =   0;  
      for   (int   i=0;   i<100;   i++)  
      {  
              ProgressBar1->Position   =   i;  
              Application->ProcessMessages();  
      }  
   
   
   
  Top

3 楼amartapple()回复于 2002-11-14 17:37:42 得分 0

没成功,还有么Top

4 楼chameleon(☆☆☆☆☆)回复于 2002-11-14 17:46:11 得分 5

ProgressBar1->Position   =   0;  
  ProgressBar1->Max   =   100;  
  ProgressBar1->Min   =   0;  
   
  for   (ProgressBar1->Position   =   0;ProgressBar1->Position   <   ProgressBar1->Max;ProgressBar1->StepIt())  
                  ;Top

5 楼chameleon(☆☆☆☆☆)回复于 2002-11-14 17:47:54 得分 0

void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
   
  {  
      FILE   *F;  
      F   =   fopen("MyFile.txt",   "r");  
      if   (F)  
      {  
          struct   stat   statbuf;  
          fstat(fileno(F),   &statbuf);  
          ProgressBar1->Max   =   statbuf.st_size;  
          if   (ProgressBar1->Max   >   10)    
              ProgressBar1->Step   =   (ProgressBar1->Max)/10;  
          else  
              ProgressBar1->Step   =   ProgressBar1->Max;  
          char   *DataBuffer   =   new   char[ProgressBar1->Step];  
          for   (ProgressBar1->Position   =   0;  
                    ProgressBar1->Position   <   ProgressBar1->Max;  
   
                    ProgressBar1->StepIt())  
          {  
              fread(DataBuffer,   ProgressBar1->Step,   1,   F);  
              //   do   something   with   the   next   chunk  
          }  
          delete   DataBuffer;  
          fclose(F);  
      }  
  }  
  bcb的例子,看看就明白了。Top

6 楼borlandme(宝兰迷)回复于 2002-11-14 18:36:50 得分 5

楼上的人说的很多了。  
  注意:应先将你的状态栏中的某个面板的Style属性设置为psOwnerDraw.再在程序设置进度条的大小及可视状态。Top

相关问题

  • 进度条的进度
  • 进度条
  • 进度条
  • 进度条问题。
  • image与进度条
  • 进度条问题
  • 进度条问题?
  • 进度条问题
  • 进度条相关
  • 进度条控件

关键词

  • progressbar1
  • databuffer
  • 进度条
  • statbuf
  • max
  • position
  • step
  • 设置
  • min

得分解答快速导航

  • 帖主:amartapple
  • szbug
  • borland_boy
  • chameleon
  • borlandme

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo