上一片博文中讲到如何添加自定义消息,那么这一篇中来讲如何激活自定义消息。
自定义的消息激活的方式多种多样,可以自行确定。我这里已用Timer来激活为例
概括:我有一个定时器消息处理函数,每一秒触发一次,我想在每隔5秒的时候触发一次自定义函数。
那么我们先创建Timer和添加Timer消息处理函数
在主框架的OnCreate事件中添加如下语句
this->SetTimer(1,1000,NULL);
- this->SetTimer(1,1000,NULL);
添加消息处理啊函数OnTimer
添加如下代码
- void CMainFrame::OnTimer(UINT nIDEvent)
- {
- // TODO: Add your message handler code here and/or call default
- static i=0;
- if(i++==5)
- {
- i=0;
- PostMessage(WM_MYMESSAGE,0,0);
- }
- CFrameWnd::OnTimer(nIDEvent);
- }
在我们自定义函数中添加如下代码
- LRESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam)
- {
- MessageBox(_T("Hello,消息已被正确触发"));
- return 0;
- }
好编译运行,5秒钟过后,我们的MessageBox弹出。消息触发成功
1277

被折叠的 条评论
为什么被折叠?



