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 - 将文本控件的 ID 更改为,并删除标题。

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

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

Progress Control

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

Progress Control

步骤 5 - 以下是 OnInitDialog() 中的实现

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

   // Add "About..." menu item to system menu.
 
   // IDM_ABOUTBOX must be in the system command range.
   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);
      }
   }
	
   // Set the icon for this dialog. The framework does this automatically
   // when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);      // Set big icon
   SetIcon(m_hIcon, FALSE);     // Set small icon
   
   // TODO: Add extra initialization here
   m_progCtrl.SetRange(0,100);

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

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

步骤 6 - 当上述代码编译并执行时,您将看到以下输出。

Progress Control
mfc_windows_controls.htm
广告