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(, ,NULL); //设置100毫秒一次.ID为1
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);// 当按钮点击完成之后.变为禁止状态.
}

2.对话框初始化下的代码.初始化我们的进度条. 为它设置最大跟最小范围.

m_pro.SetRange(, );// 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(); //结束定时器.
nPos = ;
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);//显示为可以点击
}
nPos += ; //每次进度条位置 + 1
m_pro.SetPos(nPos); //设置进度条的位置 CDialogEx::OnTimer(nIDEvent);
}

应用程序截图:

MFC控件编程进度条编写的更多相关文章

  1. MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.

    MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...

  2. MFC 控件编程之水平滚动条跟垂直滚动条

    MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...

  3. MFC控件编程之组合框跟列表框

    MFC控件编程之组合框跟列表框 一丶简介 如果要使用组合框跟列表框.那么就要知道.组合框列表框是最核心的东西就是索引. 索引是从0开始的. 二丶组合框列表框常用的方法 AddString(字符串) 添 ...

  4. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

  5. MFC控件编程之鼠标跟键盘消息

    MFC控件编程之鼠标跟键盘消息 在MFC中鼠标消息.键盘消息我们很常用.所以说一下. 鼠标消息分为客户区消息.跟非客户区消息. 一丶客户区消息 我们可以处理消息.来进行我们相应的函数即可. MFC添加 ...

  6. Winform之跨线程访问控件(在进度条上显示字体)

    此文章对于遇到必须使用线程但是没有办法在线程内操作控件的问题的处理  有很好的解决方案(个人认为的.有更好的方案欢迎交流.) 在做跨线程访问之前我们先了解下我们所做的需要达到的效果: 这个是批量的将x ...

  7. 怎样控制界面控件之进度条(ProgressBar)功能

    一.基础知识: 1.ProgressBar在界面文件XML中的布局: [html] <progressBar android:id="@+id/progressbar_updown&q ...

  8. Android自己定义控件:进度条的四种实现方式

    前三种实现方式代码出自: http://stormzhang.com/openandroid/2013/11/15/android-custom-loading/ (源代码下载)http://down ...

  9. 2015.3.11 VS异步控件及进度条结合应用

    1.在Form中添加 指针控件:BackgroundWorker-bgwork:进度条控件progressBar1 以及开始.取消按钮 2.开始按钮启动异步线程 private void button ...

随机推荐

  1. Java基础之一

    移位操作符 移位操作符只可用来处理整数类型. <<:左移位操作符,按照操作符右侧指定的位数将操作符左边的操作数向左移动,在低位补0. >>:“有符号”右移位操作符,按照操作符右 ...

  2. Linux学习---内存分布基础

    内核空间 应用程序不允许访问 -----------------------------------------3G 栈空间 局部变量 RW ----------------------------- ...

  3. NotePad++ 添加HEX-Editor插件

    步骤: 一.下载插件 https://github.com/chcg/NPP_HexEdit/releases 二.选择插件版本 Notepad 官网客服提示:32bit Notepad++可以使用常 ...

  4. CentOS 7 nginx 1.8.1安装

    OS版本:CentOS 7.2nginx版本:1.8.1所需包:openssl-1.0.2m.tar.gz zlib-1.2.8.tar.gz pcre-8.36.tar.gz nginx-1.8.1 ...

  5. web页面font-family显示

    font-family属性很简单,直接写在css或style样式中即可. 如: font-family: "Microsoft YaHei"; 但是如果希望电脑能正确的显示我们设置 ...

  6. Catalog

      Java SE EE| Hibernate | Struts2Spring/SpringMVC | MyBatis C# Python PHP C/C++ | STL 汇编语言           ...

  7. VC6 LINK : fatal error LNK1168: cannot open Debug/Test.exe for writing

    在使用VC++运行程序时,第一次没有任何问题,但是当再次运行时就会出现:LINK : fatal error LNK1168: cannot open Debug/Test.exe for writi ...

  8. maven配置parent pom查找策略

    当我们在pom.xml中添加parent pom的时候,通常maven会按照如下顺序查找parent依赖: relativePath标签指向的路径. 默认的relativePath路径".. ...

  9. ubuntu+apache2设置访问、重定向到https

    环境:ubunt14裸机,apache2,php5 条件:证书(部分商家买域名送一年),域名,为了方便均在root用户下进行的 web目录:/var/www/test 证书目录(自建):/etc/ap ...

  10. appium+python自动化脚本

    用pycharm,首先得把appium导入,操作如下(否则,运行程序后会报错,没有module appium) Settings->Project Interpreter,双击pip,搜索app ...