设为首页 加入收藏

TOP

7.3 文档/视图结构的消息处理
2013-10-07 00:36:44 来源: 作者: 【 】 浏览:60
Tags:7.3 文档 结构 消息 处理

7.3  文档/视图结构的消息处理

教学录像:光盘\TM\lx\7\文档/视图结构的消息处理.exe

在文档/视图结构的应用程序中,当用户单击某个菜单项时,程序会先执行模板对象的OnCmdMsg方法,然后执行框架的OnCmdMsg方法。框架的OnCmdMsg方法代码如下:

BOOL CFrameWnd::OnCmdMsg(UINT nID, int nCode, void* pExtra,
AFX_CMDHANDLERINFO* pHandlerInfo)
{
CPushRoutingFrame push(this);
CView* pView = GetActiveView();
if (pView != NULL && pView->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE;
if (CWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE;
CWinApp* pApp = AfxGetApp();
if (pApp != NULL && pApp->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo))
return TRUE;
return FALSE;
}
下面分析一下这段代码。在框架的OnCmdMsg方法中,首先调用视图对象的OnCmdMsg方法处理命令消息。在视图的命令消息中,会先搜索视图本身的消息映射表,如果没有发现处理函数,则调用文档对象的OnCmdMsg方法。如果文档也没有处理命令消息,会执行CWnd::OnCmdMsg语句,搜索框架本身的消息映射表。如果还没有搜索到命令消息的处理方法,会执行pApp->OnCmdMsg语句,调用应用程序的OnCmdMsg方法。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇7.4.3 在子窗口中嵌入控件 下一篇7.1 构建文档/视图应用程序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: