MFC使用进度条的例子。
以下是使用Microsoft Foundation Classes (MFC)在VC++中创建进度条的简单示例。
首先,您需要包含以下头文件:
- #include
- #include
然后,您可以使用CProgressCtrl类来创建进度条控件。下面是一个简单的例子:
- // 创建一个新的对话框类。
- class CMyDialog : public CDialog
- {
- public:
- CMyDialog(CWnd* pParent = nullptr);
-
- enum { IDD = IDD_MYDIALOG_DIALOG };
-
- BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
- ON_BN_CLICKED(ID_START, &CMyDialog::OnBnClickedStart)
- END_MESSAGE_MAP()
-
- // 创建一个进度条控件并设置其范围和步长。
- void CreateProgressCtrl();
-
- // 更新进度条的值。
- void UpdateProgressValue();
-
- private:
- // 处理“开始”按钮的点击事件。
- void OnBnClickedStart();
-
- CProgressCtrl m_progressCtrl; // 进度条控件。
- };
以下是实现上述类的代码:
- CMyDialog::CMyDialog(CWnd* pParent /*=nullptr*/)
- : CDialog(CMyDialog::IDD, pParent)
- {
- // TODO: 在此添加构造函数初始化代码。
- }
-
- void CMyDialog::CreateProgressCtrl()
- {
- // 创建进度条控件并设置其范围和步长。
- m_progressCtrl.Create(WS_CHILD | WS_VISIBLE, CRect(10, 10, 200, 30), this, IDC_PROGRESS);
- m_progressCtrl.SetRange(0, 100); // 设置范围为0到100。
- m_progressCtrl.SetStep(1); // 设置步长为1。
- }
-
- void CMyDialog::UpdateProgressValue()
- {
- // 更新进度条的值。
- int progressValue = rand() % 101; // 随机生成一个0到100的值。
- m_progressCtrl.SetPos(progressValue); // 设置进度条的当前值。
- }
-
- void CMyDialog::OnBnClickedStart()
- {
- // 处理“开始”按钮的点击事件。
- for (int i = 0; i <= 100; i++)
- {
- UpdateProgressValue(); // 更新进度条的值。
- Sleep(100); // 等待100毫秒。
- }
- }
在主函数中,您可以创建并显示这个对话框:
- int main()
- {
- CMyDialog dialog;
- dialog.DoModal(); // 显示对话框。
- return 0;
- }
将AI给出的代码存放在Progress.cpp文件中使用cl编译,结果出现如下问题:

各位网友,如果您编译成功,请评论赐教。