收藏 分享(赏)

实验四 菜单、工具栏.doc

上传人:dcjskn 文档编号:9380649 上传时间:2019-08-04 格式:DOC 页数:7 大小:253.50KB
下载 相关 举报
实验四 菜单、工具栏.doc_第1页
第1页 / 共7页
实验四 菜单、工具栏.doc_第2页
第2页 / 共7页
实验四 菜单、工具栏.doc_第3页
第3页 / 共7页
实验四 菜单、工具栏.doc_第4页
第4页 / 共7页
实验四 菜单、工具栏.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、菜单、工具栏实验报告2011 年 4 月 6 日一、实验目的1、掌握菜单的实现机制和创建过程2、掌握普通下拉菜单和上下文菜单的创建3、掌握工具栏的创建和消息处理过程二、实验内容本节主要掌握菜单、工具栏的使用方法,内容包括菜单的创建和使用、工具栏的创建和使用。例 1. 要求创建一个应用程序,实现在客户区绘制椭圆和矩形的功能。为应用程序添加一个“图形”菜单项,该菜单项包含两个子菜单“椭圆”和“矩形” 。步骤:(1) 用 AppWizard 创建一个基于 MFC 的 SDI 应用程序,工程名为 ex61。(2) 在 ResourceView 页面中,双击 Menu 文件夹,可以看到一个 ID 为ID

2、_MAINFRAME 的菜单,此菜单为应用程序的主菜单。双击 ID_MAINFRAME 菜单,进入菜单编辑器,在编辑框窗口中出现菜单栏。(3) 菜单项的添加:1) “图形”菜单项的添加。在 ID_MAINFRAME 菜单的最右端有一个空的菜单项,双击该菜单项弹出该菜单项的属性对话框,在该对话框中,选定弹出(pop-up) ,表示本菜单项中包含弹出子菜单,在标明(caption)编辑框中输入该菜单项的标题“图形” ,使该菜单项下产生一个空的子菜单项。2)添加“椭圆”和“矩形”子菜单项。双击“图形”菜单项下的空子菜单,其属性对话框中各项为:(4) 增加“椭圆”和“矩形”的消息处理1)利用 Clas

3、sWizard 为 ID_ELLIPSE 在CEx61View 类中添加消息映射,如下图。双击 COMMAND 弹出对话框,要求在该对话框中输入消息处理函数的名称,选择默认函数名,确定后,双击消息处理函数OnEllipse 进行编辑(矩形同样进行编辑,消息处理函数为 OnRectangle) ,代码如下: void CEx61View:OnEllipse() /椭圆画图/ TODO: Add your command handler code hereInvalidate();UpdateWindow();CDC *pDC=GetDC();pDC-Ellipse(100,100,200,200

4、);void CEx61View:OnRectangle() /矩形画图/ TODO: Add your command handler code hereInvalidate();UpdateWindow();CDC *pDC=GetDC();pDC-Rectangle(100,100,200,200);(5) 给“椭圆”和“矩形”子菜单添加 UPDATE_COMMAND_UI 消息,并在消息处理函数中实现在选中的子菜单项前打钩。UPDATE_COMMAND_UI 消息的添加和WM_COMMAND 消息类似。在上图中,在 Messages 中选择UPDATE_COMMAND_UI 即可。消息

5、处理函数为:Void CE61View:OnUpdateEllipse(CCmdUI* pCmdUI)pCmdUI-SetCheck(flag=0);Void CE61View:OnUpdateRectangle(CCmdUI* pCmdUI)pCmdUI-SetCheck(flag=1);例 2. 用上下文菜单实现例 1 的功能。创建上下文菜单的步骤如下:(1) 创建一个新菜单资源。用 AppWizard 创建一个基于 MFC 的 SDI 应用程序,工程名为 ex62。在工作区的 ResourceView 选项卡中,右击 Menu 文件夹,在弹出菜单中选择插入菜单便可创建一个新的菜单资源,其

6、 ID 为 IDR_MENU1。右击IDR_MENU1,在弹出菜单中选择属性,修改其 ID 为 IDR_POPMENU。双击IDR_POPMENU 资源进入编辑对话框,对弹出式菜单进行编辑,方法见例 1,完成后的菜单资源如图:(2) 添加代码,实现鼠标右键单击时显示弹出式菜单。在查看菜单项中选择建立类向导来添加右键单击弹出式菜单 WM_CONTEXTMENU 及消息处理函数,这时 MFC 会发现创建了一个新资源,将询问是否创建一个新类,取消后,弹出下图对话框,选择 ID 为 CEx62View,Messages 为 WM_CONTEXTMENU,双击该消息或单击 Add Function 按钮

7、,将为该消息添加默认处理函数,单击 Edit Code 按钮进入OnContextMenu()函数,对其进行编辑。在相应的消息处理函数中添加代码如下:void CEx62View:OnContextMenu(CWnd* pWnd, CPoint point) / TODO: Add your message handler code hereCMenu menu;menu.LoadMenu(IDR_POPMENU);menu.GetSubMenu(0)-TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,point.x,point.y,AfxGetMainW

8、nd();(3) 为“椭圆”和“矩形”子菜单添加 WM_COMMAND 和 UPDATE_COMMAND_UI消息映射,并编辑相应的消息处理函数;具体方法同例 1。 修改例 1,增加工具栏按钮的步骤如下:打开工程 ex61,在 ResourceView 页面中,双击 Toolbar 文件夹,可以看到有一个 ID 位 ID_MAINFRAME 的工具栏。双击ID_MAINFRAME 工具栏,在工具栏编辑框中出现如下图所示的工具栏。在工具栏的最右边有一空白按钮,双击该按钮,弹出对话框如下图,其中 ID 选择 ID_ELLIPSE,即“椭圆”按钮。该按钮显示在编辑窗口中,可以通过 Graphics 和 Colors 工具箱及鼠标画自己的图标。 (矩形工具栏图标同椭圆方法)三、实验结果四、实验心得本次试验的内容是菜单、工具栏的使用方法。通过本实验,对普通下拉菜单和上下文菜单的创建有了一些了解,对工具栏的创建和消息处理过程也有了提定的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报