在 MFC 中,可以使用 CProgressCtrl 類來顯示進度條。以下是一個簡單的示例:
首先,在對話框的資源文件中添加一個進度條控件,并為其指定一個 ID。
接下來,在對話框類的頭文件中添加一個成員變量,用于與進度條控件進行關聯:
```cpp
CProgressCtrl m_progress;
```
在 OnInitDialog() 函數中,將該成員變量與進度條控件進行關聯:
```cpp
m_progress.SubclassDlgItem(IDC_PROGRESS, this);
```
然后,在你的算法代碼中,根據算法的進度更新進度條的值:
```cpp
for (int i = 0; i < 100; i++) {
// 執行算法的一步
// ...
// 更新進度條的值
m_progress.SetPos(i);
// 繪制進度條
m_progress.Invalidate();
m_progress.UpdateWindow();
}
```
這樣,進度條控件就會根據你的算法進度的變化而顯示不同的進度。
需要注意的是,如果你的算法是在 UI 線程中執行的,那么更新進度條的代碼應該放在一個循環中,并且需要在每次更新進度條值后調用一次 `Invalidate()` 和 `UpdateWindow()` 函數,以確保進度條得到及時的重繪。如果你的算法是在后臺線程中執行的,可以使用 `PostMessage()` 函數將更新進度條的任務交給 UI 線程來處理。