MFC激活自定义消息
来源:岁月联盟
时间:2012-02-02
上一片博文:http://www.2cto.com/kf/201202/118131.html中讲到如何添加自定义消息,那么这一篇中来讲如何激活自定义消息。
自定义的消息激活的方式多种多样,可以自行确定。我这里已用Timer来激活为例
概括:我有一个定时器消息处理函数,每一秒触发一次,我想在每隔5秒的时候触发一次自定义函数。
那么我们先创建Timer和添加Timer消息处理函数
在主框架的OnCreate事件中添加如下语句
this->SetTimer(1,1000,NULL);
view plainprint?
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弹出。消息触发成功
�元素
第17讲:道具与水下重力系统
第18讲:游戏剧情
第19讲:BOSS技能的设计
第20讲:伪3D技术
第21讲:伪3D技术(2)
第22讲:GML入门
第23讲:GML进阶
第24讲:游戏产品与管理
自定义的消息激活的方式多种多样,可以自行确定。我这里已用Timer来激活为例
概括:我有一个定时器消息处理函数,每一秒触发一次,我想在每隔5秒的时候触发一次自定义函数。
那么我们先创建Timer和添加Timer消息处理函数
在主框架的OnCreate事件中添加如下语句
this->SetTimer(1,1000,NULL);
view plainprint?
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弹出。消息触发成功
�元素
第17讲:道具与水下重力系统
第18讲:游戏剧情
第19讲:BOSS技能的设计
第20讲:伪3D技术
第21讲:伪3D技术(2)
第22讲:GML入门
第23讲:GML进阶
第24讲:游戏产品与管理
下一篇:C++编程常用四个窍门