孙鑫VC++讲座笔记-(6)菜单编程_.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1, 弹出菜单( Pop-up) 是不能用来作命令响应的。 1, 弹出菜单( Pop-up) 是不能用来作命令响应的。 2,MFC中菜单项消息如果利用 ClassWizard 来对菜单项消息分别在上述四个类中进行 响应, 则菜单消息传递顺序: View 类 --Doc 类 --CMainFrame 类--App 类。 菜单消息一旦在其 中一个类中响应则不再在其它类中查找响应函数。 具体: 当点击一个菜单项的时候,最先接受到菜单项消息的是 CMainFrame 框架类, CMainFra me框架类将会把菜单项消息交给它的子窗口 View 类,由 View 类首先进行处理;如果 View 类检测到没对该菜单项消息做响应,则 View 类把菜单项消息交由文档类 Doc 类进行处理; 如果 Doc 类检测到 Doc 类中也没对该菜单项消息做响应, 则 Doc 类又把该菜单项消息交还给 View 类,由 View 类再交还给 CMainFrame 类处理。如果 CMainFrame 类查看到 CMainFrame 类中也没对该消息做响应,则最终交给 App 类进行处理。 3,消息的分类:标准消息,命令消息,通告消息。 [ 标准消息 ] :除 WM_COMMAND之外,所有以 WM_开头的消息。 [ 命令消息 ] :来自菜单、 加速键或工具栏按钮的消息。 这类消息都以 WM_COMMAND呈现。 在 MFC中,通过菜单项的标识( ID )来区分不同的命令消息;在 SDK中,通过消息的 w Param参数识别。 [ 通告消息 ] :由控件产生的消息, 例如, 按钮的单击, 列表框的选择等均产生此类消息, 为的是向其父窗口(通常是对话框)通知事件的发生。这类消息也是以 WM_COMMAND形式呈 现。 说明: 1)从 CWnd派生的类,都可以接收到 [ 标准消息 ] 。 2 )从 CCmdTarget 派生的类,都可以接收到 [ 命令消息 ] 和 [ 通告消息 ] 。 4,一个菜单拦可以有若干个子菜单,一个子菜单又可以有若干个菜单项等。对菜单栏 的子菜单由左至右建立从 0 开始的索引。 对特定子菜单的菜单项由上至下建立了从 0 开始的 索引。访问子菜单和菜单项均可以通过其索引或标识(如果有标识的话)进行。 相关重要函数: CMenu* GetMenu( ) ;//CWnd::GetMenu 得到窗口菜单栏对象指针。 CMenu* GetSubMenu( ) ;//CMenu::GetSubMenu 获得指向弹出菜单对象指针 UINT CheckMenuItem( );//CMenu::CheckMenuItem Adds check marks to or removes check marks from menu items in the pop-up menu. BOOL SetDefaultItem();//CMenu::SetDefaultItem Sets the default menu item fo r the specified menu. BOOL SetMenuItemBitmaps( );//CMenu::SetMenuItemBitmaps 设置位图标题菜单。 UINT EnableMenuItem();//CMenu::EnableMenuItem 使菜单项有效,无效,或变灰。 BOOL SetMenu( CMenu* pMenu );//CWnd::SetMenu 在当前窗口上设置新菜单或移除菜 单。 HMENU Detach( );//CMenu::Detach Detaches a Wind

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档