mfc CProgressCtrl

CProgressCtrl常用属性
CProgressCtrl类常用成员函数
CProgressCtrl代码示例

一、CProgressCtrl控件属性
   当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条。
  vertical :是否垂直显示。
  smooth :平滑过度,不显示进度方块。可以显示更细致。

二、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 CDialog_Progress_Test::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    //0..100
    CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
    prgctl->SetPos(50);

}

void CDialog_Progress_Test::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码

    CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);

    prgctl->SetRange32(0,300);
}

void CDialog_Progress_Test::OnBnClickedButton3()
{
    // TODO: 在此添加控件通知处理程序代码
    CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
    static int i=0;
    prgctl->SetPos(i);
    i+=10;
    if (i>=300)
    {
        i=0;
    }
}

void CDialog_Progress_Test::OnBnClickedButton4()
{
    // TODO: 在此添加控件通知处理程序代码
        CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
        prgctl->OffsetPos(10);
}

void CDialog_Progress_Test::OnBnClickedButton5()
{
    // TODO: 在此添加控件通知处理程序代码
 CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
 prgctl->SetStep(3);
}

void CDialog_Progress_Test::OnBnClickedButton6()
{
    // TODO: 在此添加控件通知处理程序代码
    CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
    prgctl->StepIt();
}
时间: 2024-08-08 01:28:48

mfc CProgressCtrl的相关文章

MFC之进度条CProgressCtrl

一.成员函数简介 1.create()针对不是通过资源文件上拖拉进度条控件生成的进度条,需要用此函数创建一个. 2.SetRange()设置进度条的起始值和终止值. 3.SetPos()设置进度条的当前位置. 4.OffSetPos()移动进度条一段距离 5.SetStep()设置步长 6.StepIt()按照步长来更新位置 二.例子例1:在资源窗口手动增加一个控件IDC_PROGRESS1CProgressCtrl *myProCtrl2 = (CProgressCtrl *)GetDlgIt

MFC DAY10 11 12

一 MFC对话框 1 DoModal函数的执行过程 1.1 查找和加载对话框资源 1.2 将父窗口设置为不可用状态 1.3 创建和显示对话框 1.4 进入对话框的消息循环 1.5 点击OK或者Cancel或者关闭按钮,隐藏对话框窗口 1.6 将父窗口设置为可用的和活动的 1.7 销毁对话框窗口 1.8 释放对话框资源 1.9 返回执行结果(IDOK/IDCANCEL) 二 对话框数据交换技术(DDX) 引入对话框数据交换技术的目的方便的操作控件.将对话框类的 成员变量与对话框的控件绑定,通过操作

CProgressCtrl进度条

CProgressCtrl进度条 使用方法总结 标签: CProgressCtrlmfc 2016-03-03 09:19 762人阅读 评论(0) 收藏 举报  分类: MFC(11)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] CProgressCtrl 控件属性 当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条. CProgressCtrl 类常用成员函数 SetRange voi

MFC多线程之购票系统

MFC线程--购票系统演示 在大学操作系统课程中,进程和线程是一个经常谈到的话题,而购票系统是关于线程的一个经典的例子,它涉及到创建线程,线程同步等. 废话不多说,下面就用MFC来实现该购票系统. 1.新建一个MFC的对话框应用程序(工程名为 线程),按下图添加控件. 2.在"线程Dlg.h"文件中添加以下代码 //结构体,传给线程的参数 struct Ctrls { CProgressCtrl* progress; CStatic* text; }; //声明线程中执行的函数 UIN

MFC控件编程:旋转按钮、进度条和滑块控件

旋转按钮(微调按钮) : 对应的控件类是CSpinButtonCtrl 进度条:对应的控件类是CProgressCtrl 滑块:对应的控件类是CSliderCtrl 对这三个控件的操作都是同过与之相关联的控件类完成的,并且这三个控件有极大的相似性,故这里放到一起 先认识下: Spin:            Progress:             Slider: 常用函数: SetRange()/GetRange(); // 设置.获取控件表示的范围 /* 设置控件的增量(步长) */ CS

MFC总结

一MFC 的概念和作用 1 什么是MFC? 全称Microsoft Foundation Class Library 我们称之为 微软基础类库,封装了绝大部分WIN32 api 函数,还封装 了程序流程. 1.1 硬盘存在形式就是一个库(静态库/动态库) 1.2 原理上还是一个程序框架 2 为什么使用MFC? 基于框架编程,提供工作效率,减少开发周期,节约开发 成本. 二几个重要头文件 afx.h - MFC 绝大部分类的声明 afxwin.h - 包含了afx.h 和windows.h afx

MFC界面相关

一MFC 的菜单 1 相关类 WIN32 - HMENU MFC - CMenu 类对象 CMenu - 封装了操作菜单的各种API 函数,还封装了很重要成 员 m_hMenu(保存菜单句柄) 2 菜单使用 2.1 添加菜单资源 2.2 设置菜单(将菜单挂到窗口中) 1)在创建主框架窗口的(Create)过程中 2)在框架窗口的WM_CREATE 消息处理中 CMenu menu; menu.LoadMenu CFrameWnd::SetMenu 2.3 设置菜单项状态 ON_WM_INITME

MFC多线程创建教程示例

最近对VC中的多线程比较感兴趣,查了资料,感觉这个写的比较实用.对博客里的内容进行部分改正,以实用VS2013. http://blog.csdn.net/chen825919148/article/details/7904169 一.问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为"延时6秒",添加按钮的响应函数,代

MFC动态创建控件及添加消息响应

MFC动态创建控件及添加消息响应 分类: 控件技术2013-01-24 14:12 7020人阅读 评论(0) 收藏 举报 转载地址:http://blog.csdn.net/luy3728000/article/details/8193918 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放