首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

大家帮帮忙看看小弟我的自定义消息为什么没有反应呢

2012-02-11 
大家帮帮忙看看我的自定义消息为什么没有反应呢?在CStruggleView.h类的声明中:protected:#define WM_GAME_

大家帮帮忙看看我的自定义消息为什么没有反应呢?
在CStruggleView.h类的声明中:
protected:
  #define WM_GAME_RUN WM_USER + 101
  afx_msg LRESULT OnGameRun(WPARAM wParam, LPARAM lParam);  
  DECLARE_MESSAGE_MAP()

在CStruggleView.cpp中如下:
BEGIN_MESSAGE_MAP(CStruggleView, CView)
  ......
  ON_MESSAGE(WM_GAME_RUN,CStruggleView::OnGameRun)
END_MESSAGE_MAP()

但是我在CStruggleView的构造函数里::SendMessage(this->GetSafeHwnd(),WM_GAME_RUN,0,0);之后就没有反应了。
CStruggleView的Run函数如下
Void CStruggleView::Run()
{
  game.Run();
}

[解决办法]
构造函数里::SendMessage是不可能成功的,因为这时窗口还未建立,this->GetSafeHwnd()得到的肯定是一个无效窗口句柄。所以最好把SendMessage放到OnInitialUpdate()中。

热点排行