网站大量收购独家精品文档,联系QQ:2885784924

面向对象程序设计b菜单和工具栏.pptx

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Welcome to the class面向对象程序设计BObject Oriented Programming B面向对象程序设计B VC资源应用(一) 菜单和工具栏Jianjun HuangVC资源应用(一)内容:菜单工具栏1 菜单菜单Menu顶层菜单下拉(Popup)菜单顶层菜单弹出菜单1.菜单建立和使用风格 助记符,快捷键等状态控制1.菜单创建和使用创建可视方式;代码方式;1.菜单创建和使用 可视方式 例1.利用MFC AppWizzard,创建单文档应用myApp1,使用资源编辑器创建如下菜单 测试 黑色 红色 1.菜单1)菜单编辑器使用 菜单的标识,标题,提示,状态和风格等 在菜单的空位置上双击鼠标左键,出现菜单项的属性对话框: 测试菜单项=》 ID:灰 Caption:测试 弹出 黑色菜单项=》 ID:ID_TEST_BLACK Caption:黑色 选中的 红色菜单项=》 ID:ID_TEST_Red Caption:红色 变灰 提示:非激活状态 菜单分隔符注:此时编译,菜单还无任何功能,处于非活动状态。 可利用类向导完成消息映射,并编辑消息响应函数。 1.菜单2)消息映射 Message Maps Class name:CMainFrame Object ID:ID_TEST_BLACK Message:COMMAND Member function name: 默认OnTestBlack 3)消息响应 添加OnTestBlack函数代码: MessageBox(黑色);使用编辑器设计菜单1.菜单创建和使用:可视方式;代码方式;1.菜单代码方式(编程控制)1. 创建菜单BOOL CreateMenu( );// 产生一个空菜单BOOL CreatePopupMenu( );2. 装入菜单 LoadMenu SetMenu 对应用程序菜单进行重新设置3. 添加菜单项 AppendMenu InsertMenu1.菜单菜单的代码方式(编程控制)4. 删除菜单项 BOOL DeleteMenu( UINT nPosition, UINT nFlags );5. 获取菜单项 UINT GetMenuItemCount( ) const; UINT GetMenuItemID( int nPos ) const; CMenu* GetSubMenu( int nPos ) const;1.菜单 例2 用代码方式添加并处理一个菜单项 (1). 创建一个新的标识符 选择“查看”菜单→“Resource Symbols…”命令,弹出如图所示的“资源符号”对话框。 例2 用代码方式添加并处理一个菜单项(2). 在CMainFrame::OnCreate函数中添加下列代码int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ ... CMenu* pSysMenu = GetMenu(); // 获得程序菜单指针 CMenu* pSubMenu = pSysMenu-GetSubMenu(4); //获得第5个子菜单的指针 CString StrMenuItem(黄色); pSubMenu-AppendMenu(MF_STRING,ID_TEST_YELLOW,StrMenuItem); // 在子菜单中增加一菜单项 DrawMenuBar(); // 更新菜单 return 0;}例2 用代码方式添加并处理一个菜单项或int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ ... CMenu* pSysMenu = GetMenu(); CMenu* pSubMenu = pSysMenu-GetSubMenu(4); CString StrMenuItem(黄色(Y)...\tCtrl+Y); pSubMenu-AppendMenu(MF_SEPARATOR);// 增加一水平分隔线 pSubMenu-AppendMenu(MF_STRING,ID_TEST_YELLOW,StrMenuItem); // 在子菜单中增加一菜单项 m_bAutoMenuEnable = FALSE; // 关闭系统自动更新菜单状态 pSysMenu-EnableMenuItem(ID_TEST_YELLOW,MF_BYCOMMAND|MF_ENABLED); DrawMenuBar(); return 0;}例2 用代码方式添加并处理一个菜单项(3) 编译运行后,结果如图所示。 但此时选择“新的菜单项”命令不会有反应。例2 用代码方式添加并处理一个菜单项(4) 用MFC Class

文档评论(0)

+ 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档