Chinaunix首页 | 论坛 | 博客
  • 博客访问: 589086
  • 博文数量: 752
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(752)

文章存档

2011年(1)

2008年(751)

我的朋友

分类:

2008-10-13 16:47:15

带文字的进度条
作者:



在下载安装的过程中,我们经常会看到带有文字的进度条,它能给人一种直观的概念。在VC中也有进度条的控件,但它不能显示文字。今有一CProgressCtrl类的派生类CTextProgressCtrl就有完成这样的工作。两种控件运行情况的对比如下:



下面介绍CTextProgressCtrl类的具体使用过程:

1. 运行VC,建立一个名为progressDemo的基于对话框的程序,在对话框中加入两个progressCtrl,然后把TextProgressCtrl.cpp和TextProgressCtrl.h加入到工程中。

2. 为两个控件加入成员变量CProgressCtrl m_progress, CProgress m_progresss2。

3. 在ProgressDemoDlg.h中加入#include “TextProgressCtrl.h”,将CProgressCtrl m_progresss,改为CTextProgressCtrl m_nprogress。

4. 为了看出效果我加入了一个定时器,具体代码请看源程序。


--------------------next---------------------

错了,是PBM_SETBARCOLOR才对,写多了一个PBM ( 24431188 发表于 2006-4-20 21:42:00)
 
近日公司要写一个进度条,要求很简单,只需要:
一格一格的显示,每一格的颜色是绿色。相信大多的程序员都用过CProgressCtrl.进度条控件,其中有SetBkColor函数,但却没有SetBarColor这样的函数。这样我们的进度条总是蓝色的,如果我要把它改为绿色的怎么办?要重载OnPaint函数吗?答案是:不需要。
你只需要在使用进度条的时候发送一个消息就行了:
例如:
CTestDlg::OnInitDialog()
{

::SendMessage(m_Progress.GetSaftHwnd(), PBM_PBM_SETBARCOLOR, 0, (LPARAM) RGB(0,255,0));
}就可以了。今天看MFC的源码才想到这么做的,不知道前人有没有这么做过呢? ( 24431188 发表于 2006-4-20 21:41:00)
 
.......................................................

--------------------next---------------------

阅读(308) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~