MFC实验五 菜单、工具栏和状态栏.docxVIP

  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文档。上传文档
查看更多
菜单、工具栏和状态栏 实验步骤: 利用MFC AppWizard[exe]创建SDI应用程序,项目名为wx203_1。 单击项目工作区窗口下的ResourseView标签,打开资源列表。展开Menu,双击Menu下的IDR_MAINFRAME即可打开菜单编辑器,如图所示。 为程序添加顶层菜单项。双击菜单编辑器中具有虚线的空白框,打开菜单属性对话框,如图所示。在Caption中输入菜单项标题“画图[D]”。 为顶层菜单添加下拉菜单。在菜单编辑器中单击“画图[D]”,双击下方的新菜单项框,弹出菜单属性对话框。在ID框中输入ID_DRAW_ELLIPSE,在Caption框中输入菜单项标题“椭圆[E]\tCtrl+E”。在Prompt框中输入次菜单的提示信息“在视图窗口画一个椭圆\n画椭圆”。 重复第03、04步,设计的菜单如图所示。 各菜单项的ID值如表所示: 菜单ID 各菜单项的ID值 ID_DRAW_ELLIPSE 椭圆[E]\tCtrl+E ID_DRAW_TRIANGLE 三角形[T] ID_DRAW_RECTANGLE 矩形[R] ID_COLOR_RED 红色[R] ID_COLOR_GREEN 绿色[G] ID_COLOR_BLUE 蓝色[B] ID_COLOR_CUSTOM 自定义... 添加消息处理函数。 在视图类CWx203_1View的定义中添加如下的数据成员: 在视图类CWx203_1View的构造函数中对数据成员进行初始化: 按下Ctrl+W打开ClassWizard对话框,选中Message Maps标签,在Class name中选择类名CWx203_1View,在Objects Ids下选择ID_DRAW_ELLIPSE,在Messages框中选择COMMAND,单击Add Function为椭圆菜单添加消息处理函数,单击Edit Code按钮打开代码编辑窗口,编辑消息处理函数: 同样为其它菜单添加WM_COMMAND消息处理函数如下: 编辑视图类OnDraw函数,在其中添加如下代码: 编译、链接和运行程序,如下图所示: 为“画图”下拉菜单添加用户界面更新处理函数。在Messages列表框中选择UPDATE_COMMAND_UI。用户界面更新处理函数如下: 单击项目工作窗口下的ResourceView标签,打开资源列表。展开Accelerator,双击IDR_MAINFRAME,打开快捷键编辑器。双击空白处,选中“椭圆”的ID值为ID_DRAW_ELLIPSE,在Key中输入E,在Modifiers中选中Ctrl,则椭圆的快捷键为Ctrl+E。 添加“颜色”的快捷菜单。在视图类中添加消息WM_CONTEXTMENU的处理函数,在函数中添加如下代码: 运行时,当在视图窗口中右击鼠标时,弹出快捷菜单,如图所示: 通过编程增加两个菜单“缩放”和“修改菜单”。 单击项目工作窗口下的FileView标签,展开Source Files,双击Resource.h打开资源头文件,在其中添加如下语句: 创建两个子菜单,并将其添加到顶层菜单中。在CmainFrame类的OnCreate成员函数中添加如下代码: 为子菜单项添加命令处理函数。对于通过编程创建的菜单项,只能手工添加消息处理函数。打开CWx203_1View.h,在其中找到DECLARE_MESSAGE_MAP,在DECLARE_MESSAGE_MAP之上、注释//}}AFX_MSG之下添加消息处理函数模型: 再打开CWx203_1View.cpp文件,在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()之间添加消息映射项。 在视图类的实现文件CWx203_1View.cpp中添加消息处理函数的函数体如下: 修改视图类OnDraw以适应菜单的变化。在CWx203_1View类的定义中增加一个int数据成员m_nFlags,用于记录执行创建菜单“缩放”的情况,并在构造函数黄总将其初始化为0。 修改OnDraw,增加如下代码: 编译、链接和运行程序,结果如下: 创建一个英文的菜单资源,并允许在中英文之间进行切换。 在项目工作窗口选中ResourceView标签,打开资源菜单,增加顶层菜单命令“英文”,并取消Pop-up属性,指定其ID值为ID_ENGLISH,Caption为英文。 单击项目工作窗的ResourceView标签,在窗口中右击Menu,选择InsertMenu命令,插入新的菜单资源。右击插入的资源ID,选择Properties命令,ID修改为IDR_ENGLISH。 添加如下图所示的菜单,为了与中文菜单共用相同的菜单命令处理函数,各对应菜单的ID应与IDR_MAINFRAME中的菜单ID相同。 取消菜单明林CHINESE的Pop-u

文档评论(0)

123****6651 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档