VC创建定时器
Vc++6.0 定时器的创建和关闭
- MFC工程dialog中的使用:(工程创建:打开VC6.0---菜单file---new---projects----MFC AppWizard(exe) 工程命名为:XS)
- 在进入Dialog画面时,设置定时器::SetTimer(~~~~~~),如下是在CXSDlg类中成员函数OnInitDialog设置
CXSDlg::OnInitDialog函数里 { ::SetTimer(this->hWnd,8,5000,NULL) //(this->hWnd为当前Dialog)(8为ID)(5000为5秒),NULL~~~~~ return TRUE; }
- 以下:菜单view---ClassWizard---会弹出一个MFC ClassWizard画面,在画面Messages:中找到WM_TIMER选中后---MFC ClassWizard画面右手边单击Add Function---单击下面的Edit Codes
- 此后会进入到:void CTestkbDlg::OnTimer(UINT nIDEvent)
{ // TODO: Add your message handler code here and/or call default //在这里写入每一段时间里你想实现的代码就可以,现在,我只实现弹出“你好!XS” MessageBox("你好!XS"); CDialog::OnTimer(nIDEvent); }
运行试试看~~你会发现,一进入介面,就每5秒弹出一个窗口“你好!XS” - 如果你想实现按下一个控件BUTTEN来实现定时器,可以把::SetTimer(this->hWnd,8,5000,NULL) 这个写入到你的BUTTEN控件函数中,就可以实现,记住,在用完Timer定时器后用KillTimer()把定时器关掉o(^_^)o
- 最后,如果你不是用ClassWizard来创建OnTimer()函数, 而是自己创建:
- CXSDlg.h文件中,写入afx_msg void OnTimer(UINT nIDEvent);声明的
- CXSDlg.cpp文件:写入OnTimer()函数代码段的,
- 记得也要在CXSDlg.cpp文件中的如下位置写入 ON_WM_TIMER():
BEGIN_MESSAGE_MAP(CTestkbDlg, CDialog) //{{AFX_MSG_MAP(CTestkbDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_TIMER() //}}AFX_MSG_MAP END_MESSAGE_MAP()