zoukankan      html  css  js  c++  java
  • MFC之进度条CProgressCtrl

    一、成员函数简介
    1、create()
    针对不是通过资源文件上拖拉进度条控件生成的进度条,需要用此函数创建一个。

    2、SetRange()
    设置进度条的起始值和终止值。

    3、SetPos()
    设置进度条的当前位置。

    4、OffSetPos()
    移动进度条一段距离

    5、SetStep()
    设置步长

    6、StepIt()
    按照步长来更新位置

    二、例子
    例1:在资源窗口手动增加一个控件IDC_PROGRESS1
    CProgressCtrl *myProCtrl2 = (CProgressCtrl *)GetDlgItem(IDC_PROGRESS1);
    myProCtrl2->SetRange(0,100);
    for (int i = 0;i<100;i++)
    {
    //myProCtrl2->OffsetPos(1); //此句代码等同于下两句,以固定步长1更新显示,该功能也可以这样实现:myProCtrl2->SetPos(i);
    myProCtrl2->SetStep(1);
    myProCtrl2->StepIt();
    Sleep(100);
    }

    例2:资源窗口不增加,直接通过代码生成进度条
    CProgressCtrl myProCtrl;
    CRect rect,proRect;
    GetClientRect(&rect);
    proRect.left = rect.left + rect.Width()/2 - 100;
    proRect.top = rect.top + rect.Height()/2 - 20;
    proRect.right = rect.right - rect.Width()/2 + 100;
    proRect.bottom = rect.bottom - rect.Height()/2 + 20;
    //WS_CHILD|WS_VISIBLE|PBS_SMOOTHREVERSE
    myProCtrl.Create(WS_VISIBLE,proRect,this,99); //创建位置、大小
    myProCtrl.SetRange(0,100);
    int i;
    for (i = 0; i < 100; i++)
    {
    myProCtrl.OffsetPos(1);
    CString str;
    str.Format(_T("%d%%"),i); //百分比
    (GetDlgItem(IDC_STATIC1))->SetWindowText(str);
    Sleep(100);
    }

     

     

     更高质量更精彩的文章请看: http://blog.csdn.net/visualeleven/article/details/6165007

     

     

     

  • 相关阅读:
    Spring(一)Spring的基本应用
    flask摘记
    python摘记
    String Algorithm
    leetcode -- hard part
    leetcode -- medium part
    leetcodo--Easy part
    unix网络编程
    SQL
    计算机网络知识
  • 原文地址:https://www.cnblogs.com/huhu0013/p/4434031.html
Copyright © 2011-2022 走看看