【转】进度条的使用(设置值,改变颜色)
来源:互联网 发布:网络销售金融是什么 编辑:程序博客网 时间:2024/06/05 14:47
================
设置值,
参考以下:
http://topic.csdn.net/t/20040821/18/3297045.html
ZT:
(一)进度条的主要功能
进度条控制(Progress Control)主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗口标题条的颜色来不断填充。
进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当前位置。进度条的范围用来表示整个操作过程的时间长度,当前位置表示完成情况的当前时刻。SetRange()函数用来设置范围,初始范围为0-100,SetPos()函数用来设置当前位置,初始值为0,SetStep()函数用来设置步长,初始步长为10,StepIt()函数用来按照当前步长更新位置,OffsetPos()函数用来直接将当前位置移动一段距离。如果范围或位置发生变化,那么进度条将自动重绘进度区域来及时反映当前工作的进展情况。
进度条的对象结构
进度条控制的建立方法
CProgressCtrl &ProgressCtrl 建立进度条控制对象结构
Create 建立进度条控制对象并绑定对象
进度条控制类CprogressCtrl::Create的调用格式如下:
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
其中参数dwStyle用来确定进度条控制的控制风格;参数rect用来确定进度条控制的大小和位置;参数pParentWnd用来确定进度条父窗口指针;参数nID用来确定进度条控制的控制符ID值。
2、进度条控制的类属性
进度条控制的类属性包括设置进度条最大最小控制范围SetRange、设置进度条当前位置
SetPos、设置进度条当前位置偏移值OffsetPos和设置进度条控制增量值SetStep。
3、进度条控制的操作方法
进度条控制的操作方法主要是使进度条控制并重绘进度条的StepIt函数。
进度条控制的应用技巧示例
1、利用应用程序向导AppWizard生成基于对象框的应用程序CProgDlg;
2、在对话框中设置进度条和静态文本控制,其ID分别为IDC_PROG和IDCPERCENT;
在对话框初始代码中增加控制的范围和位置:
在ProgDlg.h中设置两个数据成员,用来表示进度条的最大值和步长:
//ProgDlg.h
class CProgDlg:public Cdialog
{ ......//其它代码
public:
int m_nMax,m_nStep;
...... //其它代码
}
(2)在ProgDlg.cpp中设置初始状态
BOOL CProgDlg::OnInitDialog()
{ Cdialog::OnInitDialog();
......//其它代码
//TODO:Add extra initialization here
CProgressCtrl *pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);
pProgCtrl-> SetRange(0,200);//设置进度条范围
......//其它代码
m_nMax=200;
m_nStep=10;
SetTimer(1,1000,NULL);//设置进度条更新时钟
return TRUE;
}
(3)完善WM_TIMER消息处理,使进度条按照当前步长进行更新,同时完成进度条的百分比显示:
void CProgDlg::OnTimer(UINT nIDEvent)
{ //TODO:Add your message handler?
CProgressCtrl *pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);
int nPrePos=pProgCtrl-> StepIt();//取得更新前位置
char test[10];
int nPercent=(int)(((nPrePos+m_nStep)/m_nMax*100+0.5);
wsprintf(test,?%d%%?,nPercent);
GetDlgItem(IDC_PERCENT)-> SetWindowText(text);
Cdialog::OnTimer(nIDEvent);
}
=========================
改变颜色
http://www.codeproject.com/KB/miscctrl/progressctrlx.aspx
- 【转】进度条的使用(设置值,改变颜色)
- 改变进度条jProgressBar的颜色
- SnackBar的样式使用(改变颜色以及设置action)
- 不确定(indeterminateProgressBar)进度条的颜色设置
- programm的进度条颜色的改变
- 安卓改变进度条的颜色progressbar
- 根据进度条的颜色设置进度条上字体的颜色
- Qt中进度条的颜色设置
- Android圆形进度条颜色的设置
- ProgressBar 圆形进度条颜色的设置
- ProgressBar水平进度条的颜色设置
- android ProgressBar水平进度条的颜色设置
- ProgressBar水平进度条的颜色设置
- Android:动态设置颜色渐变的进度条
- Android进度条ProgressBar颜色的渐变设置
- 改变进度条颜色及去掉进度条边框
- ProgressBar 进度条颜色设置
- 设置progressbar进度条颜色
- GODITKISS
- 数据库操作
- JS之正则表达式验证URL
- WEB项目前期开展需要注意的问题
- 数据库SQL树
- 【转】进度条的使用(设置值,改变颜色)
- 安装单服务器版的Team Foundation Server
- 触发器
- Explaining: "Warning: RPMDB altered outside of yum."
- Suds McKenzie 另类的塔防游戏,上演一出有趣的肥皂剧?
- gimp里处理图像背景(透明背景)方法之一
- SUSE 上搭建SVN & 移动版本库
- 两种SVN开发模式实现目录结构布局
- DataLis绑定图片无缝滚动