欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

C++ MFC中定時器的使用

作者:黃波海   來源:本站原創   點擊數:  更新時間:2014年03月06日   【字體:

用處:定時重繪,形成動態波形圖。如溫度曲線。
  思路:與單片機定時器中斷一樣,先打開定時器再把執行的代碼寫進編譯器生成的CMy56Dlg::OnTimer(UINT nIDEvent)函數中。
其中 nIDEvent 中的n代表定時器的編號;通常與switch-case語句構成多個定時器的同時使用。
步驟:
一.通過類向導在對話框基類中添加 OnTimer子類。步驟:【查看】-【類向導】-【Messagemaps】-【CMy**Dlg】-【message】-【WM_timer】編譯后CMyDlg類此時會自動添加一個 OnTimer(UINT nIDEvent)子類。并添加一個響應函數
void CMy56Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);//這句話編譯器自動添加,看樣子是判斷第幾個定時器觸發的響應。貌似可以刪掉。

}
二.到此就可以使用定時器了。
     使用方法:首先執行SetTimer(UINT nIDEvent,timer,NULL);其中UINT nIDEvent是定時器編號,
需自己設定想用定時器1就設為1。雷同于單片機的定時器1和2。timer是uint型,表示定時時間,單位為ms.NULL保留。
    然后添加中斷函數如下:
void CMy56Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CDialog::OnTimer(nIDEvent);

}

三:例子
假定用的是定時器一,定時1s:
1.【查看】-【類向導】-【Messagemaps】-【CMy**Dlg】-【message】-【WM_timer】并編譯
2.開啟定時器:
SetTimer(1,1000,NULL);//定時器一,定時一秒。
SetTimer(2,1500,NULL);//定時器二,定時1.5秒。
3.觸發函數:

 void CMy56Dlg::OnTimer(UINT nIDEvent)//通過nIDEvent來區別不同的定時器引發的中斷
{
// TODO: Add your message handler code here and/or call default
    switch(nIDEvent)

 {    case 1:     //1號定時器應該處理的事情
           OnPaint();
      case 2:    //2號定時器應該處理的事情
           SetDlgItemText(IDC_EDIT1,("hello"));
}
}

關閉窗口

相關文章