MFC中timer 的使用

    技术2022-05-20  44

    首先,要设置定时器。

    在init中(或其他的初始化函数里),调用函数

    UINT SetTimer(   UINT nIDEvent,//定时器标记,   UINT nElapse,//间隔时间   void ( CALLBACK* lpfnTimer ) (HWND, UINT, UINT, DWORD) = NULL )

    如settimer(1,2000,NULL);

    设置定时器1的间隔为2000毫秒。

    其次,添加ontimer消息处理函数代码。

    void OnTimer(    UINT_PTR nIDEvent  );

     

    在ontimer中的程序在定时器被触发的时候运行。

    void OnTimer(    UINT_PTR nIDEvent  )

     

     

    如果程序中有多个定时器,则他们共用一个ontimer消息处理程序。

    在ontimer中,可以通过判断定时器标志(nIDEvent)来区分不同的定时器。

    假设设置了三个定时器,标记分别为1,2,3。如

    settimer(1,2000,NULL);

    settimer(2,3000,NULL);

    settimer(3,5000,NULL);

    则在ontimer消息处理函数中

    void OnTimer(    UINT_PTR nIDEvent  ){

    switch (nIDEvent)

    {

    case 1:

      //do something

    break;

    case 2:

      //do something

    break;

    case 3:

       //do something

    break;

    default:

    }

    }

     


    最新回复(0)