MFC进度条-转

MFC进度条-转CProgressCtrl 控件属性当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条。CProgressC

大家好,又见面了,我是你们的朋友全栈君。

CProgressCtrl 控件属性

当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条。

CProgressCtrl 类常用成员函数

SetRange
void SetRange( short nLower, short nUpper );
为进度条控件设置范围的最小值和最大值,并重画进度条来反映新的范围,默认为0~100,若设置32位范围,用下面的函数。 -0x8fff~0x7FFF
SetRange32
void SetRange32( int nLower , int nUpper );
为进度条控件设置范围的最小值和最大值,并重画进度条来反映新的范围
GetRange
void GetRange( int&nLower, int&nUpper );
获取进度条控件范围的下限和上限
GetPos
获取进度条的当前位置
SetPos
设置进度条的当前位置,并重画进度条来反映新的位置
OffsetPos
在原位置上增加一段数值,并重画进度条来反映新的位置
SetStep
设置进度条前进的步长,返回原来步长。配合StepIt使用
在进度条上会以百分比的形式显示出来 步长/(最大值-最小值)
代码示例

void CMFCControlTestDlg::OnBnClickedBtPro()
{
// TODO: 在此添加控件通知处理程序代码
m_progressCtrl.SetRange32(0, 1000);//设置进度条的最小值和最大值
int nFirstStep = m_progressCtrl.SetStep(10);//设置步长,返回原来步长,默认是最大值的1%

for (int x=1; x<=10; x++)
{
	m_progressCtrl.SetPos(x*10);//设置一个位置
	int a = m_progressCtrl.StepIt();//在原位置上增加一个步长距离,配合SetStep使用,先设置步长才能使用这个
	Sleep(100);
}
m_progressCtrl.OffsetPos(400);//在原位置上增加400距离
if (m_progressCtrl.GetPos() > 1000)//获取当前位置
{
	m_progressCtrl.SetPos(0);
}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154244.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • l1范数定义(L1范数证明)

    L0范数:是指向量中非0的元素的个数。L1范数:是指向量中各个元素绝对值之和。L2范数:是指向量各元素的平方和然后求平方根。Lp范数:是指向量各个元素绝对值p次方和的1/p次方。无穷范数:是指向量中各个元素绝对值的最大值。…

    2022年4月17日
    86
  • ElasticSearch安装配置(es)[通俗易懂]

    ElasticSearch安装配置(es)[通俗易懂]一、安装配置es1、搭建配置es#创建es容器#es的端口#9200走http协议端口#9300代码层面tcp端口dockerrun-di–nameelasticsearch-p9200:9200-p9300:9300elasticsearch:6.5.0#登录es容器dockerexec-itelasticsearch/bin/bash#修改elasticsearch.yml文件,添加跨域配置http.cors.enabled:..

    2022年6月16日
    34
  • setCapture 和 releaseCapture

    setCapture 和 releaseCapturesetCapture函数的作用就是将后续的mouse事件都发送给这个对象,releaseCapture就是将鼠标事件还回去,由document、window、object之类的自行来处理。这样就保证了在拖动的过程中,不会由于经过了其它的元素而受到干扰另外,还有一个很重要的事情是,在Win32上,mousemove的事件不是一个连续的,也就是说,并不是我们每次移动1px的鼠标指针,就会发生一个mousemove,windows会周期性检查mouse的位置变化来产生mousemove的事件。所以,如

    2022年5月3日
    50
  • 利用ffmpeg制作gif图[通俗易懂]

    利用ffmpeg制作gif图[通俗易懂]由于老师安排的作业有需求,这里就记录一下利用ffmpeg制作gif图1.确保ffmpeg安装运行会显示版本号:ffmpeg-version没有安装的话先安装:sudoapt-repositoryppa:kirillshkrogalev/ffmpeg-nextsudoapt-getupdatesudoapt-getinstallffmpegffmpeg-ve…

    2025年6月26日
    2
  • Java设计模式之结构型:组合模式

    Java设计模式之结构型:组合模式

    2021年10月4日
    37
  • vim 命令备忘

    vim 命令备忘

    2021年9月8日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号