[转载于CSDN]为什么我的statusbar不显示进度?
2005-08-23 23:30
288 查看
文章地址:http://community.csdn.net/Expert/topic/4073/4073615.xml?temp=3.181094E-02
问:
在一个函数中设置:
{
......................
ProgressBar1->Min = 0;
ProgressBar1->Max = 500;
ProgressBar1->Position = 0;
..............................
}
另有事件:
TSatusBar1DrawPanel(TStatusBar *StatusBar,
TStatusPanel *Panel, const TRect &Rect)
{
ProgressBar1->Parent = sbwait;
ProgressBar1->Left = Rect.Left;
ProgressBar1->Top = Rect.Top;
ProgressBar1->Width = Panel->Width;
ProgressBar1->Height = Rect.Bottom-Rect.Top;
}
在另一个函数中有语句
ProgressBar1->Position++;
并且该语句放在一个循环中,保证一定可以执行,但是就是不显示进度,那位高手帮忙看看?
答:
这个问题跟TStatusPanel *Panel 有关,要将他的style设置为psOwnerDraw.不过你这样写代码是不太号的,没有区分哪个panel,如果TStatusBar有几个item,而且都是psOwnerDraw,那么也会画不出来,当有多个的时候就会冲突,要在代码里面用Panel->Index来区分.
假设你的ProgressBar1只是显示在TStatusBar的第一个item上,那么没有必要这样写代码
在OnCreate中
『
ProgressBar1->Parent=StatusBar1;
ProgressBar1->Top = 2; //一定要
ProgressBar1->Left = 1; //一定要,不过2个数字可以自己调
ProgressBar1->Width=StatusBar1->Panels->Items[0]->Width-1;
』
这样就行了,ProgressBar1的显示也可以自己控制,如果是在后面的item,也可以改left的值就行了
这样就不用去设置TStatusBar的,item的style的属性了,也不怕有冲突
问:
在一个函数中设置:
{
......................
ProgressBar1->Min = 0;
ProgressBar1->Max = 500;
ProgressBar1->Position = 0;
..............................
}
另有事件:
TSatusBar1DrawPanel(TStatusBar *StatusBar,
TStatusPanel *Panel, const TRect &Rect)
{
ProgressBar1->Parent = sbwait;
ProgressBar1->Left = Rect.Left;
ProgressBar1->Top = Rect.Top;
ProgressBar1->Width = Panel->Width;
ProgressBar1->Height = Rect.Bottom-Rect.Top;
}
在另一个函数中有语句
ProgressBar1->Position++;
并且该语句放在一个循环中,保证一定可以执行,但是就是不显示进度,那位高手帮忙看看?
答:
这个问题跟TStatusPanel *Panel 有关,要将他的style设置为psOwnerDraw.不过你这样写代码是不太号的,没有区分哪个panel,如果TStatusBar有几个item,而且都是psOwnerDraw,那么也会画不出来,当有多个的时候就会冲突,要在代码里面用Panel->Index来区分.
假设你的ProgressBar1只是显示在TStatusBar的第一个item上,那么没有必要这样写代码
在OnCreate中
『
ProgressBar1->Parent=StatusBar1;
ProgressBar1->Top = 2; //一定要
ProgressBar1->Left = 1; //一定要,不过2个数字可以自己调
ProgressBar1->Width=StatusBar1->Panels->Items[0]->Width-1;
』
这样就行了,ProgressBar1的显示也可以自己控制,如果是在后面的item,也可以改left的值就行了
这样就不用去设置TStatusBar的,item的style的属性了,也不怕有冲突
相关文章推荐
- 为什么CSDN的正文有时显示.有时又是显示摘要呢
- [转载]两个Form,一个Form中处理数据,另一个是ShowDialog()出来的上面就一个progressBar用来显示进度!!
- (转载)NGUI研究院之为什么Scene视图中不显示Polygon Collider2D(十七)
- Java动态显示文件上传进度的简单实现 - java2000.net的专栏 - CSDNBlog
- [转载自csdn]StatusBar上实现指示灯表示启/停,正常/故障等信息
- CSDN以前博客中的照片不显示了,为什么
- 在blog中显示天气预报、日历、时钟、MSN、QQ在线状态(转载自CSDN)
- 【转载】Asp.NET大文件上传组件开发总结(五)---上传进度信息的显示
- (转载)如何在UIAlertView中显示进度条
- CSDN 插入代码测试,为什么没有显示呢
- 为什么CSDN连个转载的Button都没有
- 为什么CSDN不支持转载
- [转载]两个Form,一个Form中处理数据,另一个是ShowDialog()出来的上面就一个progressBar用来显示进度!!
- CSDN 插入代码测试,为什么没有显示呢
- csdn发的图片为什么不显示 测试图片
- Jquery 实现密码框的显示与隐藏【转载自http://blog.csdn.net/fengzhishangsky/article/details/11809069】
- libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)
- asp.net利用多线程执行长时间的任务,客户端显示出任务的执行进度的示例
- python显示程序进度条
- 如何在UIAlertView中显示进度条