架構設計
- 對話式專案,匯入數字位圖資源(IDB_BITMAP1,含 0-9、冒號、空白等)。
- 對話框類別內嵌
mytime 類別管理顯示邏輯。
mytime 類別介面
class mytime {
public:
int change(char); // 字元對應位圖索引
void myfun(CString temp); // 更新顯示字串
void set(CDialog*, int tnum, int tx, int ty, int tspace); // 設定位置參數
CStatic* m_pictur[20]; // 靜態圖片控件指標陣列
int num, x, y, space; // 位數、起始座標、間距
};
關鍵實作
- set:建立/重建
CStatic 控件陣列,Create(NULL, SS_ICON, rect, parent, ID),初始顯示空白圖示。
- myfun:依字串長度前補空白,逐字元呼叫
change 取得位圖索引,CImageList::ExtractIcon 取圖示並 SetIcon 更新各控件。
- OnTimer:每秒取得系統時間
CTime::GetCurrentTime(),格式化為 HH:MM:SS 呼叫 myfun。
執行畫面
改進方向
- 改用 GDI+ 直接繪製數字,避免大量
CStatic 控件開銷。
- 支援 12/24 小時制切換、日期顯示、鬧鐘功能。
- 雙緩衝消除閃爍。