zoukankan      html  css  js  c++  java
  • 进度条的使用 Progress控件

    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);

           }

    运行结果:

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

    MFC编程实例二:进度条的使用 - 小桂 - 桂文永的博客
     
     我自己做的
    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

  • 相关阅读:
    Python基本数据类型(int str)个人笔记
    LINUX简单操作的笔记
    samba服务配置步骤
    IP地址的初步理解
    apache服务配置步骤
    [已解决]This dependency was not found: * common/stylus/index.styl in ./src/main.js To install it, you can run: npm install --save common/stylus/index.styl
    (转)iFrame高度自适应
    (转)Div左右两侧等高
    (转)Css样式兼容IE6,IE7,FIREFOX的写法
    瀑布流布局代码
  • 原文地址:https://www.cnblogs.com/chenzuoyou/p/3167120.html
Copyright © 2011-2022 走看看