无窗口的CWnd类其m_hWnd为0x000000,使用SendMessage会出现ASSERT(::ISWINDOW(m_hWNd))断言,
增加一个CFrameWnd *pFrameWnd 变量,获取(CFrameWnd*)AfxGetMainWnd(),然后使用pFrameWnd->SendMessage()...,在CMainFrame里增加对PreTranslateMessage的处理,却拦截不到这个消息...而若通过在MainFrame中添加消息映射,响应这个自定义消息,却能够收到该消息,哪里的毛病??晕了,多个自定义消息,不想用消息映射函数...
==============
该问题已解决,通过SendMessage在WindowProc中处理消息
增加一个CFrameWnd *pFrameWnd 变量,获取(CFrameWnd*)AfxGetMainWnd(),然后使用pFrameWnd->SendMessage()...,在CMainFrame里增加对PreTranslateMessage的处理,却拦截不到这个消息...而若通过在MainFrame中添加消息映射,响应这个自定义消息,却能够收到该消息,哪里的毛病??晕了,多个自定义消息,不想用消息映射函数...
==============
该问题已解决,通过SendMessage在WindowProc中处理消息
本文探讨了在CWnd类无窗口情况下使用SendMessage出现的问题及解决办法。通过使用CFrameWnd对象发送消息,并在CMainFrame中处理PreTranslateMessage,成功解决了无法接收自定义消息的问题。
3538

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



