- 2
- 0
- 约1.36万字
- 约 51页
- 2019-05-10 发布于广东
- 举报
第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指定的范围内画椭圆 } 绘制
您可能关注的文档
最近下载
- 喷墨打印OLED技术全球竞争格局与发展策略.docx VIP
- 深度解析(2026)《GBT 45845.2-2025智慧城市基础设施整合运营框架 第2部分:开发与运维指南》.pptx VIP
- 2025年煤矿安全生产条例、两办意见、硬措施试卷(附答案).docx VIP
- SIMOCODE的参数设置及修改作业指导书.pdf.pdf VIP
- 煤矿两办意见和八项硬措施题(附答案).doc VIP
- 2023-2024学年江苏省南京市玄武区八年级(上)期末物理试卷及答案解析.pdf VIP
- 2022中国慢性自发性荨麻疹患者疾病负担白皮书.pdf VIP
- 雅思阅读:高频文章34 纸张与电脑.pdf VIP
- 2025年修订版《检验检测机构监督管理办法》知识试题库及答案.docx VIP
- 《居家与社区医疗相结合的养老服务规范》DB52T 1891-2025(贵州省标).pdf
原创力文档

文档评论(0)