參考遊戲更新介面,使用前景/背景兩張位圖繪製進度條。繼承 CStatic,介面模仿 CProgressCtrl:
void SetRange(int nLower, int nUpper);
void GetRange(int& lower, int& upper);
int SetPos(int nPos);
int GetPos();
int SetStep(int nStep);
int StepIt();
BmpProgCtrl.h/.cpp 加入專案。IDB_FORE、背景 IDB_BACK。IDC_BMPPROG),關聯變數 m_bmpProg。CStatic 改為 CBmpProgCtrl,含入標頭檔。m_bmpProg.SetRange(0, 100); m_bmpProg.SetStep(1);m_bmpProg.StepIt(); 或 m_bmpProg.SetPos(val);w = (pos - min) * foreWidth / (max - min)。BitBlt 或 StretchBlt 繪製前景圖左半部覆蓋背景。原始碼簡潔易改,可擴展為垂直進度條、圓形進度條或加入動畫效果。