菜单以及与菜单相关联的操作.PPT

上传人:国*** 文档编号:957768 上传时间:2018-11-09 格式:PPT 页数:24 大小:111.50KB
下载 相关 举报
菜单以及与菜单相关联的操作.PPT_第1页
第1页 / 共24页
菜单以及与菜单相关联的操作.PPT_第2页
第2页 / 共24页
菜单以及与菜单相关联的操作.PPT_第3页
第3页 / 共24页
菜单以及与菜单相关联的操作.PPT_第4页
第4页 / 共24页
菜单以及与菜单相关联的操作.PPT_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、菜单以及与菜单相关联的操作消息的分类 标准消息除 WM_COMMAND之外,所有以 WM_开头的消息。从 CWnd派生的类,都可以接收到这类消息。 命令消息来自菜单、加速键或工具栏按钮的消息。这类消息都以 WM_COMMAND呈现。在 MFC中,通过菜单项的标识( ID) 来区分不同的命令消息;在 SDK中,通过消息的 wParam参数识别。从 CCmdTarget派生的类,都可以接收到这类消息。 通告消息由控件产生的消息,例如,按钮的单击,列表框的选择等均产生此类消息,为的是向其父窗口(通常是对话框)通知事件的发生。这类消息也是以 WM_COMMAND形式呈现。从 CCmdTarget派生的

2、类,都可以接收到这类消息。一个类接收一个命令消息后,文件做了哪些修改?( a)在类的定义中的消息映射中添加命令消息函数原 型(b)在源文件的消息映射中用 ON_COMMAND宏将菜单项的ID号和命令消息响应函数进行关联( c)在源文件中增加了命令消息响应函数。它的形式跟 Windows标准消息是一样的,不同的是ON_COMMAND宏。标准的 Windows消息 的路由:直接在消息映射表中上溯,在消息映射表中查找,如果吻合就调用表中所记录的消息处理程序。命令消息 的路由呢?命令消息的路由AfxWndProcAfxCallWndProcWindowProcOnWndMsgOnCommand OnN

3、otifyOnCmdMsg视图类 - 文档类 -框架类 - 应用类命令消息接收物的 类 型 处 理次序Frame窗口 1、 View2、 Frame窗口 对 象3、 CWinApp对 象View 1、 View本身2、 DocumentDocument 1、 Document本身2、 Document Template添加 2个菜单, ID值分别为 IDM_UNDO和IDM_DELETE_ALL,分别用来删除最后画的一条直线和窗口中所有的直线。( 1)为视图类添加对这 2个菜单项的消息响应( 2) OnUndo() int nUpperBound=m_ptrArray.GetUpperBoun

4、d ();if(nUpperBound0)return;CLine *pline=(CLine *)(m_ptrArray.GetAt (nUpperBound );delete pline;m_ptrArray.RemoveAt (nUpperBound);Invalidate();(3) OnDeleteAll() int nCount=m_ptrArray.GetSize ();for(int i=0;inCount;i+)delete m_ptrArray.GetAt (i);m_ptrArray.RemoveAll ();Invalidate();命令更新 菜单项状态的维护是依赖于 CN_UPDATE_COMMAND_UI消息,谁捕获 CN_UPDATE_COMMAND_UI消息, MFC就在其创建一个 CCmdUI对象。可以通过手工或利用 ClassWizard在消息映射中添加ON_UPDATE_COMMAND_UI宏来捕获 CN_UPDATE_COMMAND_UI消息。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。