MFC - 进度条控件

进度条控件是一个窗口,应用程序可以使用它来指示冗长操作的进度。 它由一个矩形组成,随着操作的进行,该矩形从左到右逐渐填充系统突出显示颜色。 它由 CProgressCtrl 类表示。

这是 CProgressCtrl 类中的方法列表 −

序号 名称和描述
1

Create

创建进度条控件并将其附加到 CProgressCtrl 对象。

2

CreateEx

使用指定的 Windows 扩展样式创建进度控件并将其附加到 CProgressCtrl 对象。

3

GetBarColor

获取当前进度条控件的进度指示条的颜色。

4

GetBkColor

获取当前进度条的背景颜色。

5

GetPos

获取进度条的当前位置。

6

GetRange

获取进度条控件范围的下限和上限。

7

GetState

获取当前进度条控件的状态。

8

GetStep

检索当前进度条控件的进度条的步长增量。

9

OffsetPos

将进度条控件的当前位置前进指定的增量,并重新绘制进度条以反映新位置。

10

SetBarColor

设置当前进度条控件中进度指示条的颜色。

11

SetBkColor

设置进度条的背景颜色。

12

SetMarquee

打开或关闭当前进度条控件的选取框模式。

13

SetPos

设置进度条控件的当前位置并重绘进度条以反映新位置。

14

SetRange

设置进度条控件的最小和最大范围,并重新绘制进度条以反映新范围。

15

SetState

设置当前进度条控件的状态。

16

SetStep

指定进度条控件的步骤增量。

17

StepIt

将进度条控件的当前位置前进一步增量(请参阅 SetStep),并重新绘制进度条以反映新位置。

让我们创建一个新的 MFC 应用程序。

步骤 1 − 将 Text 控件的 ID 更改为 并删除标题。

步骤 2 − 从工具箱中拖动进度控件。

步骤 3 − 为静态文本控件添加值变量。

进度条控件

步骤 4 − 为进度控件添加控件变量。

进度条控件

步骤 5 − 这是 OnInitDialog() 中的实现

BOOL CMFCProgressControlDlg::OnInitDialog() {
   CDialogEx::OnInitDialog();

   // 在系统菜单中添加"关于..."菜单项。
 
   // IDM_ABOUTBOX 必须在系统命令范围内。
   ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
   ASSERT(IDM_ABOUTBOX < 0xF000);

   CMenu* pSysMenu = GetSystemMenu(FALSE);
   if (pSysMenu != NULL) {
      BOOL bNameValid;
      CString strAboutMenu;
      bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
      ASSERT(bNameValid);
      if (!strAboutMenu.IsEmpty()) {
         pSysMenu -> AppendMenu(MF_SEPARATOR);
         pSysMenu -> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
      }
   }
	
   // 设置该对话框的图标。 框架会自动执行此操作
   // 当应用程序的主窗口不是对话框时
   SetIcon(m_hIcon, TRUE);      // 设置大图标
   SetIcon(m_hIcon, FALSE);     // 设置小图标
   
   // TODO:在此处添加额外的初始化
   m_progCtrl.SetRange(0,100);

   for (int i = 0; i <= 100; i++) {
      m_progCtrl.SetPos(i);
   }

   return TRUE; // 返回 TRUE 除非您将焦点设置到控件
}

步骤 6 − 当上面的代码被编译并执行时,您将看到以下输出。

进度条控件

❮ mfc_windows_controls.html