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 − 当上面的代码被编译并执行时,您将看到以下输出。