MFC编程实例二:进度条的使用

2011-03-22 09:09:09|  分类: C++(C语言) |  标签:进度  nlower  nupper  添加  mfc  |字号 订阅

 
 本人用的可以的
 
 

BOOL CEx040105eDlg::OnInitDialog() {

m_progress.SetRange( 0 ,100 );//设置进度的下限和上限,默认值是0和100。
m_progress.SetStep(5);//设置StepIt一次移动多少进度,默认值是10。  m_progress.SetPos(0);//设置进度条的初始进度。

m_progress.SetPos(0); //设置当前进度条位置;

}

实现函数:

void SndMESSge()

{

for( int i = 0; i <100/5; i ++)
{
Sleep( 100 );
m_progress.StepIt();//初始化时设置了每次移动5度,总共移动100/5 次;
}

 }
 
********************************************************************
以上是我试过的,很简单的
********************************************************************
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

(以下蓝色字体为手动添加的代码)

(1)   创建一个基于对话框的应用程序。

(2)   在对话框界面添加一个文本框、一个进度条控件(Progress控件)和一个按钮。

(3)   为Progress控件添加一个变量m_ctrlProgress,文本框添加一个变量m_strText。

(4)   在初始化函数中添加如下代码

BOOL CBbbDlg::OnInitDialog()

{

CDialog::OnInitDialog();

…………

// TODO: Add extra initialization here

SetDlgItemText(IDC_EDIT1,_T("0%"));

//设置进度条的范围

m_ctrlProgress.SetRange(0,100);

//设置进度条的每一步的增量

m_ctrlProgress.SetStep(10);

//设置进度条的当前位置

m_ctrlProgress.SetPos(0);

return TRUE;  // return TRUE  unless you set the focus to a control

}

(5)   双击按钮,添加如下代码:

void CBbbDlg::OnButton1()

{

// TODO: Add your control notification handler code here

UpdateData(false);

//获取进度条的位置范围的最大值和最小值

int nLower=0;

int nUpper=0;

m_ctrlProgress.GetRange(nLower,nUpper);

if(m_ctrlProgress.GetPos()==nUpper){

m_ctrlProgress.SetPos(nLower);

}

//用每一步的增量来增加进度条的当前位置

m_ctrlProgress.StepIt();

//获取进度条的当前位置

int nPos=(m_ctrlProgress.GetPos()-nLower)*100/(nUpper-nLower);

CString s;

s.Format("%d",nPos);

m_strText=s+"%";

UpdateData(false);

}

运行结果:

(单击测试按钮进度条位置前进一步,要实现自动前进,需要设置定时器,本文暂时不介绍定时器的运用)

 
 我自己做的
for{

int n =(int)wParam;
int ncout = ( int )m_arraySendinfo.GetCount();
if ( m_bInitProgess == FALSE )
{
m_bInitProgess = TRUE;
m_Progreess.SetRange(0, ncout );//设置范围
m_Progreess.SetPos(0);//设置位置
m_Progreess.ShowWindow( SW_SHOW );
}

int nPos = 0;
int nPOS = m_Progreess.SetPos( ++nPos );
m_Progreess.SetPos( nPOS );
m_Progreess.SetStep( nPos );
m_Progreess.StepIt();
return 0;

}

或者
 

int n =(int)wParam;
int ncout = ( int )m_arraySendinfo.GetCount();

m_Progreess.SetRange(0, ncout );//设置范围
m_Progreess.SetPos(0);//设置位置

for(int i = 0 ; i <ncout  ; i ++ )

{

int nPos = 0;
int nPOS = m_Progreess.SetPos( ++nPos );
m_Progreess.SetPos( nPOS );
m_Progreess.SetStep( nPos );
m_Progreess.StepIt();
return 0;

}

参考文献:曲扬,Visual C++实效编程280例,人民邮电出版社,2009.3

进度条的使用 Progress控件的更多相关文章

  1. C# 通过委托控制进度条以及多线程更新控件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. 用VS2017进行移动开发(C#、VB.NET)——Progress控件,Smobiler移动开发

    Progress控件 一.          样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个Progress控件到窗体界面上 修改Pr ...

  3. Android 自己定义圆圈进度并显示百分比例控件(纯代码实现)

    首先,感谢公司能给我闲暇的时间,来稳固我的技术,让我不断的去探索研究,在此不胜感激. 先不说实现功能,上图看看效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  4. WP8滑动条(Slider)控件的使用

    1. <Grid x:Name="LayoutRoot" Background="Transparent"> <Grid.RowDefinit ...

  5. 使用 new XMLHttpRequest() 制作下载文件进度条

    mui 进度控件使用方法: 检查当前容器(container控件)自身是否包含.mui-progressbar类: 当前容器包含.mui-progressbar类,则以当前容器为目标控件,直接显示进度 ...

  6. 使用C#开发ActiveX控件(新)

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

  7. iOS企业级开发初级课程-UIView与控件(20集)

    UIView与控件向大家介绍了视图和控件之间的关系以及应用画面的建构层次.然后是对标签.按钮.文本框.文本视图.开关.滑块.分段控件.网页控件.屏幕滚动控件.等待控件.进度条.警告.动作选单.工具栏. ...

  8. BackgroundWorker控件

    在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示 ...

  9. 使用C#开发ActiveX控件(新) 转 http://www.cnblogs.com/yilin/p/csharp-activex.html

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

随机推荐

  1. Java实现 LeetCode 563 二叉树的坡度(又是一个遍历树)

    563. 二叉树的坡度 给定一个二叉树,计算整个树的坡度. 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值.空结点的的坡度是0. 整个树的坡度就是其所有节点的坡度之和. ...

  2. Java实现 LeetCode 453 最小移动次数使数组元素相等

    453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 ...

  3. Java实现 LeetCode 380 常数时间插入、删除和获取随机元素

    380. 常数时间插入.删除和获取随机元素 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构. insert(val):当元素 val 不存在时,向集合中插入该项. remove( ...

  4. Java实现 LeetCode 124 二叉树中的最大路径和

    124. 二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: ...

  5. Java实现 LeetCode70 爬楼梯

    70. 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: ...

  6. 用户和用户组管理-影子文件shadow

    ll /etc/shadow 由于shadow文件的权限,所以,只有root可以读 vi /etc/shadow 一共有九列信息: 第一列表示用户名:第二列表示经过加密之后的密码,如果密码是!!或者* ...

  7. 提高网站访问性能之Tomcat优化

    一.前言 tomcat 服务器在JavaEE项目中使用率非常高,所以在生产环境对tomcat的优化也变得非常重要了,对于tomcat的优化,主要是从2个方面入手,一是tomcat本身的配置,另一个是t ...

  8. akka-typed(6) - cluster:group router, cluster-load-balancing

    先谈谈akka-typed的router actor.route 分pool router, group router两类.我们先看看pool-router的使用示范: val pool = Rout ...

  9. git push 错误,回滚 push操作

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 0.记一次使用git push后,覆盖了同事代码的糗事 前言: ​ 都在WebStorm中操作,Idea或者PyCharm同理 ​ 为了高度还原尴尬 ...

  10. 在SpringMVC获取客户端传递的数据的方式

    在处理请求的方法中,加入相对应的形参,保证形参参数名和传递的数据的参数名保持一致,就能够自动赋值 value:当不满足赋值条件时,可以使用value属性,指定映射关系 required:设置形参是否必 ...