wxWidgets中定时器构造

来源:互联网 发布:php laravel windows 编辑:程序博客网 时间:2024/06/17 16:15

1、定义一个定时器ID

#define STUDY_TIMER_ID 20001 //定义一个计时器ID

2、在类中定义一个定时器变量

private:
wxTimer m_timer;//定时器

3、在类中声明一个一个定时器处理事件的函数

  void OnTimer(wxTimerEvent& event);

4、在事件表中定义定时器事件

BEGIN_EVENT_TABLE( StudyFrame, wxMDIChildFrame )
EVT_TIMER(STUDY_TIMER_ID , StudyFrame::OnTimer)//绑定事件处理函数
END_EVENT_TABLE()

5、在调用的构造函数的初始化列表中初始化定时器

StudyFrame::StudyFrame( wxMDIParentFrame* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ): m_timer(this, STUDY_TIMER_ID )
{
    Init();
    Create( parent, id, caption, pos, size, style );
}

6、在源文件中实现定时器事件处理方法

void StudyFrame::OnTimer(wxTimerEvent& event){
//处理方法

}

7、使用m_timer.Start(1000);//1000为ms启动定时器

m_timer.IsRunning()检查定时器是否处于运动状态

m_timer.Stop()停止定时器