实验四菜单、工具栏.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四菜单、工具栏.doc

菜单、工具栏实验报告 2011年4月6日 实验目的 1、掌握菜单的实现机制和创建过程 2、掌握普通下拉菜单和上下文菜单的创建 3、掌握工具栏的创建和消息处理过程 实验内容 本节主要掌握菜单、工具栏的使用方法,内容包括菜单的创建和使用、工具栏的创建和使用。 要求创建一个应用程序,实现在客户区绘制椭圆和矩形的功能。为应用程序添加一个“图形”菜单项,该菜单项包含两个子菜单“椭圆”和“矩形”。 步骤: 用AppWizard创建一个基于MFC的SDI应用程序,工程名为ex61。 在ResourceView页面中,双击Menu文件夹,可以看到一个ID为ID_MAINFRAME的菜单,此菜单为应用程序的主菜单。双击ID_MAINFRAME菜单,进入菜单编辑器,在编辑框窗口中出现菜单栏。 菜单项的添加:1)“图形”菜单项的添加。在ID_MAINFRAME菜单的最右端有一个空的菜单项,双击该菜单项弹出该菜单项的属性对话框,在该对话框中,选定弹出(pop-up),表示本菜单项中包含弹出子菜单,在标明(caption)编辑框中输入该菜单项的标题“图形”,使该菜单项下产生一个空的子菜单项。2)添加“椭圆”和“矩形”子菜单项。双击“图形”菜单项下的空子菜单,其属性对话框中各项为: 增加“椭圆”和“矩形”的消息处理……1)利用ClassWizard为ID_ELLIPSE在CEx61View类中添加消息映射,如下图。双击COMMAND弹出对话框,要求在该对话框中输入消息处理函数的名称,选择默认函数名,确定后,双击消息处理函数OnEllipse进行编辑(矩形同样进行编辑,消息处理函数为OnRectangle),代码如下: void CEx61View::OnEllipse() //椭圆画图 { // TODO: Add your command handler code here Invalidate(); UpdateWindow(); CDC *pDC=GetDC(); pDC-Ellipse(100,100,200,200); } void CEx61View::OnRectangle() //矩形画图 { // TODO: Add your command handler code here Invalidate(); UpdateWindow(); CDC *pDC=GetDC(); pDC-Rectangle(100,100,200,200); } 给“椭圆”和“矩形”子菜单添加UPDATE_COMMAND_UI消息,并在消息处理函数中实现在选中的子菜单项前打钩。UPDATE_COMMAND_UI消息的添加和WM_COMMAND消息类似。在上图中,在Messages中选择UPDATE_COMMAND_UI即可。消息处理函数为: Void CE61View::OnUpdateEllipse(CCmdUI* pCmdUI) { pCmdUI-SetCheck(flag==0); } Void CE61View::OnUpdateRectangle(CCmdUI* pCmdUI) { pCmdUI-SetCheck(flag==1); } 用上下文菜单实现例1的功能。创建上下文菜单的步骤如下: 创建一个新菜单资源。用AppWizard创建一个基于MFC的SDI应用程序,工程名为ex62。在工作区的ResourceView选项卡中,右击Menu文件夹,在弹出菜单中选择插入菜单便可创建一个新的菜单资源,其ID为IDR_MENU1。右击IDR_MENU1,在弹出菜单中选择属性,修改其ID为IDR_POPMENU。双击IDR_POPMENU资源进入编辑对话框,对弹出式菜单进行编辑,方法见例1,完成后的菜单资源如图: 添加代码,实现鼠标右键单击时显示弹出式菜单。在查看菜单项中选择建立类向导来添加右键单击弹出式菜单WM_CONTEXTMENU及消息处理函数,这时MFC会发现创建了一个新资源,将询问是否创建一个新类,取消后,弹出下图对话框,选择ID为CEx62View,Messages为WM_CONTEXTMENU,双击该消息或单击Add Function按钮,将为该消息添加默认处理函数,单击Edit Code按钮进入OnContextMenu()函数,对其进行编辑。在相应的消息处理函数中添加代码如下: void CEx62View::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here CMenu menu; menu.LoadMenu(IDR_POPMENU); menu.GetSubMenu(

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档