《VC++深入详解教学》菜单(孙鑫)

菜单 主讲人:孙鑫 tp://www.sunxin.org
菜单 主讲人:孙鑫 http://www.sunxin.org

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

命令消息的路由 AEx WndProc AEx CallWndProc WindowProc OnWndMs OnCommand OnNotify OnCmdMs tp://www.sunxin.org
命令消息的路由 AfxWndProc AfxCallWndProc WindowProc OnWndMsg OnCommand OnNotify OnCmdMsg http://www.sunxin.org

菜单的结构 300301302303304 3 楼2 0 0 房间 tp://www.sunxin.org
300 301 302 303 304 0 1 2 3 0 1 2 3 4 楼 层 房间 菜单的结构 http://www.sunxin.org

命令更新 菜单项状态的维护是依赖于 CN UPDATE COMMAND UI消息 谁捕获 CN UPDATE COMMAND U消息,MFC就在其中创建“八 CCmdUI对象。我们可以通过手工或利用 Class wizard在消息映射中添加 ON UPDATE_ COMMAND UI宏来捕获 CN UPDATE COMMAND_UI 消息 在后台所做的工作是:操作系统发出 WM INITMENUPOPUP消息, 然后由MFC的基类如 CFrameWnd接管。它创建一个 CCmdUI对象,并与 第一个菜单项相关联,调用对象的一个成员函数 DoUpdate0。这个函数 发出CN_ UPDATE COMMAND UI消息,这条消息带有指向 CAndu对 象的指针。同一个 CCmdUI对象就设置为与第二个菜单项相关联,这样 顺序进行,直到完成所有菜单项 更新命令U处理程序仅应用于弹出式菜单项上的项目,不能应用 于永久显示的顶级菜单项目。 tp://www.sunxin.org
命令更新 菜单项状态的维护是依赖于CN_UPDATE_COMMAND_UI消息, 谁捕获CN_UPDATE_COMMAND_UI消息,MFC就在其中创建一个 CCmdUI对象。我们可以通过手工或利用ClassWizard在消息映射中添加 ON_UPDATE_COMMAND_UI宏来捕获CN_UPDATE_COMMAND_UI 消息。 在后台所做的工作是:操作系统发出WM_INITMENUPOPUP消息, 然后由MFC的基类如CFrameWnd接管。它创建一个CCmdUI对象,并与 第一个菜单项相关联,调用对象的一个成员函数DoUpdate()。这个函数 发出CN_UPDATE_COMMAND_UI消息,这条消息带有指向CCmdUI对 象的指针。同一个CCmdUI对象就设置为与第二个菜单项相关联,这样 顺序进行,直到完成所有菜单项。 更新命令UI处理程序仅应用于弹出式菜单项上的项目,不能应用 于永久显示的顶级菜单项目。 http://www.sunxin.org
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《VC++深入详解教学》第十一讲 图形的保存和重绘(孙鑫).ppt
- 《VC++深入详解教学》文本编程(孙鑫).ppt
- 《VC++深入详解教学》第十六讲 线程同步与异步套接字编程(孙鑫).ppt
- 《VC++深入详解教学》第十八讲 ActiveX控件(孙鑫).ppt
- 《VC++深入详解教学》掌握C++(孙鑫).ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)循环.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第二章 结构化程序设计.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)面向对象、JAVA语言中的两种类.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第四章 JAVA语言深入.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)习题集.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)方法.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第三章 面向对象程序设计.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)JPanel(面板).ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)文本框(JTextField).ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)Swing整体介绍.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)数组.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)继承.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)异常.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)多态性.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)关于循环.ppt
- 《VC++深入详解教学》第十讲 创建兼容DC(孙鑫).ppt
- 《VC++深入详解教学》Windows程序运行原理(孙鑫).ppt
- 《VC++深入详解教学》对话框(孙鑫).ppt
- 《VC++深入详解教学》第十七讲 进程间通信(孙鑫).ppt
- 《VC++深入详解教学》第十二讲 文件(孙鑫).ppt
- 《VC++深入详解教学》第二十讲 HOOK和数据库访问(孙鑫).ppt
- 《VC++深入详解教学》对话框(续)(孙鑫).ppt
- 《VC++深入详解教学》第十四讲 网络编程(孙鑫).ppt
- 《VC++深入详解教学》第十三讲 文档(孙鑫).ppt
- 《VC++深入详解教学》第十五讲 多线程与聊天室程序的创建(孙鑫).ppt
- 《VC++深入详解教学》第十九讲 动态链接库(孙鑫).ppt
- 重庆移通学院:《数据结构》课程教学资源(教程讲义,共二十八课,闫会峰).doc
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)Huffman树及其应用.ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)习题讲解(闫会峰).ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)树的练习.ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)模式匹配的BF算法.ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)渡河问题.ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)第11章 结构体与共用体.ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)第1章 绪论(闫会峰).ppt
- 重庆移通学院:《数据结构》课程教学资源(PPT课件讲稿)第2章 算法分析.ppt