河北经贸大学信息技术学院VC++系统开发课件第5章 菜单、工具栏和状态栏.pptVIP

  • 2
  • 0
  • 约1.36万字
  • 约 51页
  • 2019-05-10 发布于广东
  • 举报

河北经贸大学信息技术学院VC++系统开发课件第5章 菜单、工具栏和状态栏.ppt

第12章 菜单设计 Huang Weitong 第5章 菜单、 工具栏和状态栏 河北经贸大学信息技术学院 教学目标 了解菜单、工具栏和状态栏的概念及相关类的基本操作; 掌握Windows编程中资源的使用; 能够在单文档和对话框应用程序中编程实现常用的菜单、工具栏和状态栏。 5.1 菜单 菜单概述 用编辑器设计菜单 菜单类CMenu 快捷菜单的设计与使用 示例 菜单 菜单是Windows中最常见的界面元素,是一系列命令的列表。 菜单分为两种: 下拉菜单 快捷菜单(上下文菜单) 加速键是键盘上的一个键或几个键的组合,它通常对应于某一条菜单命令或工具按钮命令,它为用户提供了一种快速执行菜单命令或其他某种功能的方法。 创建下拉菜单的步骤: 创建菜单资源 打开菜单编辑器,编辑菜单:在菜单栏中双击空白方框,弹出[ Menu Item Properties]对话框,设置菜单项属性。 为菜单资源选择一个类(视图类或对话框类) 建立菜单命令消息处理函数 WM_COMMAND:选择菜单项或使用快捷键时将产生此消息 UPDATE_COMMAND_UI:更新命令用户接口消息,当菜单在显示之前,会先通过此消息进行更新,从而得到更新后的菜单。 【例5.1】单文档应用程序中菜单的创建和使用 在单文档应用程序的默认菜单资源中添加一个“绘图”菜单,通过“绘图”菜单命令在窗口中绘制出不同的椭圆和矩形,程序的运行效果如图 所示。 步骤: 1、创建一个基于SDI的应用程序,项目名为:EX5_1 2、在项目工作区的[Resource View]中,双击菜单资源[IDR_MAINFRAME],打开菜单资源编辑器。 3、在[帮助]菜单前插入一个新菜单[绘图(D)],并为其添加相应的菜单项,如图所示 菜单属性设置 Caption ID 提示(Prompt) 椭圆 Pop-up 矩形 Pop-up 清除(C) ID_DRAW_CLEAR 清除窗口中的图形 100*100 ID_DRAW_ELLIPSE1 绘制一个外接矩形为100*100的椭圆 100*200 ID_DRAW_ELLIPSE2 绘制一个外接矩形为100*200的椭圆 100*100 ID_DRAW_RECT1 绘制一个100*100的矩形 100*200 ID_DRAW_RECT2 绘制一个100*200的矩形 4、为菜单资源选择一个类CEX5_1View 5、使用[MFC ClassWizard],为视图类CEX5_1View添加菜单消息处理函数. Object Ids 消息 消息处理函数 ID_DRAW_CLEAR COMMAND OnDrawClear() ID_DRAW_ELLIPSE1 COMMAND OnDrawEllipse1() ID_DRAW_ELLIPSE2 COMMAND OnDrawEllipse2() ID_DRAW_RECT1 COMMAND OnDrawRect1() ID_DRAW_RECT2 COMMAND OnDrawRect2() 6、为消息处理函数添加代码 绘制一个外接矩形为100*100的椭圆 void CEX5_1View::OnDrawEllipse1() { // TODO: Add your command handler code here CDC *pDC=GetDC(); // 获取窗口设备环境 CRect r, rect; // 定义矩形类对象 GetClientRect(r); // 获取客户区窗口坐标范围 rect.bottom=r.bottom/2+50; // 设置rect的范围 rect.top=r.bottom/2-50; rect.right=r.right/2+50; rect.left=r.right/2-50; pDC-Ellipse(rect); // 在rect指定的范围内画椭圆 } 绘制

文档评论(0)

1亿VIP精品文档

相关文档