Windows各种计时器
(一):OnTimer類
1.打開對應對話框的類向導ClassWizard。
2.在消息映射MessageMaps中添加消息Message:WM_TIMER。
3.程序代碼中將自動添加函數OnTimer(UINT nIDEvent),在該函數內編寫代碼實現計時器功能。
函數代碼一般寫在switch...case中,nIDEvent表示計時器ID號,從而區分不同計時器的實現內容。
若不使用switch...case結構,則表示實現ID為1的計時器功能。
整個函數代碼如下:
void CCountDown::OnTimer(UINT nIDEvent) {switch (nIDEvent){case 1:{ //代碼實現break;}default:break;}CDialog::OnTimer(nIDEvent); }4.在要開始計時器的地方調用:
SetTimer(1,1000,NULL);//第一個參數表示計時器的ID;
????????????????????????第二個參數表示間隔時間(ms);
????????????????????????第三個表示調用的函數,NULL表示默認調用OnTimer函數。
5.在要結束計時器的地方調用:
KillTimer(1);)????????//參數表示計時器的ID
(2):ontimer實例:
(1)?? 創建一個基于對話框的應用程序。
(2)?? 在對話框界面添加一個文本框和兩個按鈕。
(3)?? 文本框添加一個變量m_nTime。
(4)?? 雙擊“設置定時器”按鈕,添加如下代碼:
void CTimeDlg::OnButton1() {// TODO: Add your control notification handler code hereUpdateData(false);//取消定時器KillTimer(1);//設置定時器SetTimer(1,1000,NULL);}(5) 雙擊“取消定時器”按鈕,添加如下代碼:void CTimeDlg::OnButton1() {// TODO: Add your control notification handler code hereUpdateData(false);//取消定時器KillTimer(1); }(6) 添加一個靜態變量n,申明如下:static n=0;(7) 添加WM_TIMER事件,方法為:右鍵單擊對話框空白部分—>Event,在彈出的對話框左邊選擇WM_TIMER雙擊,右邊就出現WM_TIMER,再雙擊添加如下代碼:void CTimeDlg::OnTimer(UINT nIDEvent){// TODO: Add your message handler code here and/or call defaultif(nIDEvent==1){n++;m_nTime=n;UpdateData(false);}CDialog::OnTimer(nIDEvent); }運行結果:
點擊“設置定時器”文本框數字每隔1秒自動增1,點擊“取消定時器”,數字停止增加,再點擊“設置定時器”,數字接著繼續增加。如果每次設置都從0重新開始,只要在“設置定時器”按鈕把n值重新賦值0即可。
總結
以上是生活随笔為你收集整理的Windows各种计时器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全功能计算器app
- 下一篇: 推荐系统的十个关键点