<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> 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"));
        }
        }

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮