MFC控件编程进度条编写
MFC控件编程进度条编写
一丶进度条编程需要用到的方法
进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl 进度条编程也很简单.
封装的方法也就那个那几个.
GetPos() 获取进度条位置
SetPos() 设置位置.
GetRange(Value,Value) 获取进度条的最大跟最小的值.
等等.具体可以查询MSDN
在讲解之前.需要简单讲解下定时器以及按钮.
定时器:
SetTimer() 设置定时器. 对话框相应 WM_TIMER消息即可.
KillTimer() 取消定时器的设置.
EnableWindow(TRUE or FALSE) 使控件可点击根不可点击.
二丶MFC中进度条的控件编程.
对于MFC控件编程.我们绑定一个变量. 初始化的时候设置最大跟最小值.
例如:
m_Pro.SetRange(0,100) 范围0 - 100
按钮点击设置定时器. 此时对话框会接受WM_TIMER消息.我们响应消息.在里面控制进度条的进度.
1.按钮点击下的代码.
void CSpainDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 SetTimer(1, 100,NULL); //设置100毫秒一次.ID为1 GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);// 当按钮点击完成之后.变为禁止状态. }
2.对话框初始化下的代码.初始化我们的进度条. 为它设置最大跟最小范围.
m_pro.SetRange(0, 100);// 0 - 100
3.对话框实现的WM_TIMER消息.当我们按钮设置了定时器.则这个消息回来.没100毫秒一次.
代码实现
void CSpainDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 int nPos, nMin, nMax; m_pro.GetRange(nMin, nMax);//参数是引用类型.所以直接传入变量即可. 最大范围最小返回都会放到这两个变量中. nPos = m_pro.GetPos(); //获取当前进度条位置 if (nPos >= nMax) //当前位置 > 100.也就是进度条的位置. { KillTimer(1); //结束定时器. nPos = 0; GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);//显示为可以点击 } nPos += 1; //每次进度条位置 + 1 m_pro.SetPos(nPos); //设置进度条的位置 CDialogEx::OnTimer(nIDEvent); }
应用程序截图:
作者:IBinary
坚持两字,简单,轻便,但是真正的执行起来确实需要很长很长时间.当你把坚持两字当做你要走的路,那么你总会成功. 想学习,有问题请加群.群号:725864912(收费)群名称: 逆向学习小分队 群里有大量学习资源. 以及定期直播答疑.有一个良好的学习氛围. 涉及到外挂反外挂病毒 司法取证加解密 驱动过保护 VT 等技术,期待你的进入。
详情请点击链接查看置顶博客 https://www.cnblogs.com/iBinary/p/7572603.html
本文来自博客园,作者:iBinary,未经允许禁止转载 转载前可联系本人.对于爬虫人员来说如果发现保留起诉权力.https://www.cnblogs.com/iBinary/p/9657780.html
欢迎大家关注我的微信公众号.不定期的更新文章.更新技术. 关注公众号后请大家养成 不白嫖的习惯.欢迎大家赞赏. 也希望在看完公众号文章之后 不忘 点击 收藏 转发 以及点击在看功能. QQ群: