- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
菜单、工具栏、状态栏 本章主要内容 9.1.1 基于资源的编程 资源的概念 VC中将Windows系统中的菜单、工具栏、对话框、图标、位图、快捷键等都视为“资源”,将所有资源放在单独的文件中; 位图、图标等资源以二进制文件存在于res目录下;在资源描述文件(.rc)中对这些资源进行引用描述,并定义其它资源(菜单、对话框等) 根据资源描述文件将其编译为.res文件,最后与目标代码集成生产可执行文件。 分析资源文件 菜单 //First.rc中 IDR_MAINFRAME MENU PRELOAD DISCARDABLE BEGIN POPUP 文件(F) BEGIN MENUITEM 新建(N)\tCtrl+N, ID_FILE_NEW MENUITEM 打开(O)...\tCtrl+O, ID_FILE_OPEN …… END POPUP 编辑(E)“ BEGIN …… END END 有关资源的问题 为了区分资源,每个资源项都使用标识符进行标识,标识符实际就是一个整数。 标识符一般使用大写英文字母,不能以数字开头,同一类资源的资源项标识符不能重复,标识符不区分大小写。命名标识符时,对不同类型资源应遵循一定的前缀。 使用AppWizard生成应用程序框架时,会默认创建一些资源,可以此为基础进行编辑。VC开发环境集成了各种资源编辑器。 菜单资源标识符的查看 #define IDD_ABOUTBOX 100 #define IDR_MAINFRAME 128 #define IDR_FIRSTTYPE 129 …… //resouce.h中 9.1.2 菜单基本编程 菜单资源的编辑 菜单项和菜单命令消息 菜单命令消息的映射 菜单命令更新消息 快捷键 1、菜单资源使用 IDR_MAINFRAME MENU PRELOAD DISCARDABLE BEGIN POPUP 文件(F) BEGIN MENUITEM 新建(N)\tCtrl+N, ID_FILE_NEW MENUITEM 打开(O)...\tCtrl+O, ID_FILE_OPEN …… END POPUP 编辑(E)“ BEGIN …… END END 菜单资源编辑器-顶层菜单 菜单资源编辑器-菜单项 2、菜单项和菜单命令消息 整个菜单是一个资源,有自己的标识符;顶层菜单是一种特殊的菜单,没有标识符;每个菜单项需要一个不同的标识符。 用户点击菜单项后,会产生命令消息WM_COMMAND,消息的参数中会包含菜单项的ID号,以区别点击那个菜单项。 命令消息可以映射到视图、文档、框架或者应用程序类中。 命令消息处理路径:视图类→文档类→文档模板类→框架窗口类→应用程序类 3、菜单命令消息映射 生成的代码① class CFirstView : public CView { …… //{{AFX_MSG(CFirstView) afx_msg void OnMouseMove( UINT nFlags, CPoint point); afx_msg void OnHello(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; 生成的代码② BEGIN_MESSAGE_MAP(CFirstView, CView) //{{AFX_MSG_MAP(CFirstView) ON_WM_MOUSEMOVE() ON_COMMAND(IDM_HELLO, OnHello) //}}AFX_MSG_MAP // Standard printing commands …… END_MESSAGE_MAP() 生成的代码③ void CFirstView::OnHello() { MessageBox(Hello Everybody!); } int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK ); lpszText:消息框中显式的内容; lpszCpation:消息框的标题; nType:设置消息框中按钮和图标的类型,默认只有“确定”按钮 4、菜单命令更新消息映射 用户在下拉菜单时或者弹出菜单之前,会发送WM_UPDATE_COMMAND_UI消息,用于控制菜单状态的更新。 通常在该消息处理函数中更新菜单的状态。如果某菜单项在所有类中均未映射命令消息,则菜单项为灰色(禁用) 菜单命令更新消息映射 设置选中标记 void CFirstView::OnUpdateHel
您可能关注的文档
最近下载
- 第二章 关税措施.ppt VIP
- 医保药师专业知识与技能培训题库答案-2025年华医网继续教育答案.docx VIP
- 2023版思想道德与法治课件第一章 领悟人生真谛 把握人生方向.pdf VIP
- 南京欧陆EV510高性能电流矢量变频器使用手册.pdf
- 2025至2030中国畜牧业节能风机行业市场深度调研及发展趋势与投资报告.docx
- web安全技术-实验六、文件上传漏洞.doc
- 最新2025版工程建设现行标准规范目录清单 .pdf VIP
- 2022年健康管理师《专业技能》备考习题3.docx VIP
- 2022年二级健康管理师考试练习题1.docx VIP
- 2024—2025学年广东省东莞市东华高级中学高一上学期第一次月考化学试卷.doc VIP
文档评论(0)