C 語言本身無圖形庫,**必須調用平台 GUI API** 繪製視覺化時鐘界面。
CWnd::SetTimer(1, 1000, NULL) 每秒觸發 OnTimer。OnPaint 中用 CDC::TextOut / DrawText 繪製時間字符串,或用 CStatic 控件 SetWindowText 更新。CPen/CBrush 畫圓、刻度、指針 (三角函數計算端點)。CreateWindowEx 創建窗口,SetTimer,WM_TIMER / WM_PAINT 消息循環處理。GDI 函數 (Ellipse, MoveToEx, LineTo) 繪製指針。class CClockDlg : public CDialogEx {
CStatic m_timeCtrl;
afx_msg void OnTimer(UINT_PTR nIDEvent) {
CTime now = CTime::GetCurrentTime();
m_timeCtrl.SetWindowText(now.Format("%H:%M:%S"));
// 檢查鬧鐘時間,觸發 MessageBeep/PlaySound
}
afx_msg void OnPaint() {
CPaintDC dc(this);
// 畫表盤、指針 (可選)
}
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CClockDlg, CDialogEx)
ON_WM_TIMER()
ON_WM_PAINT()
END_MESSAGE_MAP()
// OnInitDialog
SetTimer(1, 1000, NULL);
printf) 只能打印文本,無法呈現「時鐘樣子」。graphics.h (Turbo C / EasyX) 繪圖,但屬教學古董環境。