• MFC进度条


    一、成员函数简介 
    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);
    }

    文章出处https://www.cnblogs.com/huhu0013/p/4434031.html

  • 相关阅读:
    第03组 Alpha冲刺 总结
    第03组 Alpha冲刺 (6/6)
    第03组 Alpha冲刺 (5/6)
    第03组 Alpha冲刺 (4/6)
    第03组 Alpha冲刺 (3/6)
    第03组 Alpha冲刺 (2/6)
    第03组 Alpha冲刺 (1/6)
    第03组(63) 需求分析报告
    第03组(63) 团队展示
    第09组 Alpha冲刺 总结
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/11131670.html
Copyright © 2020-2023  润新知