- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章菜 单
第3章 菜 单 3.1 菜 单 菜单是Windows应用程序中非常重要的人机界面,是一系列命令的列表,用户能够选中其中的菜单命令并执行相应任务。如在菜单项文本后有三个点“…”,点击该菜单项会弹出一个对话框,若在菜单项文本后有向右三角形“?”,那么该菜单项还有子菜单项等等。 3.2 AppWizard的菜单资源 在Visual C++中,菜单资源位于一个资源脚本(.RC)文件中 ,当打开Menu菜单时,菜单资源列表(Resource View)如下图所示。 为了开始编辑一个特定菜单资源,请双击列表中的相应名称。所选择的菜单资源即显示在菜单编辑器中。使用菜单编辑器,可以打开MenuItem Properties(菜单项属性)对话框,如下图所示。 菜单项具备三个关键域:ID、C标题(Caption)和M提示(Prompt)。在菜单属性对话框中的其他项目的属性如下表所示 。 3.3 创建菜单的一般过程 菜单的设计一般分为三步: 步骤1:编辑菜单资源,设置菜单属性(包括菜单名和ID号)。 步骤2:用ClassWizard自动映射菜单消息和成员函数。 步骤3:编辑成员函数,加入菜单消息处理代码。 3.4 编辑菜单资源 学习如何编辑由AppWizard自动生成的菜单资源,要编辑这个菜单资源,我们先运行AppWizard创建一个单文档应用程序,工程名为“菜单设计”,建成应用程序框架,如下图所示。 创建步骤如下: 步骤1:选择项目工作区的ResourceView标签,切换到资源视图。 步骤2:双击“菜单设计Resource”文件夹,然后双击“Menu”文件夹。 步骤3:选定“IDR_MAINFRAME”,双击该项或单击鼠标右键,然后在弹出菜单中选择Open选项。Visual Studio将弹出菜单编辑窗口,显示菜单资源IDR_MAINFRAME,如下图所示,其中IDR_MAINFRAME是由AppWizard在创建该程序时自动生成的。 步骤4:编辑当前菜单。 双击窗口中的空白菜单框或可选定窗口中的空白菜单框后按回车,Visual Studio会弹出“Menu Item Properties”对话框,如下图所示。 在菜单属性栏ID中输入“IDR_DISPLAY”,在标题栏中输入“显示(d)”,如下图所示。 应该注意的是:如果菜单中要使用中文,则除了在菜单名一项中输入中文外,还要将菜单资源的语言属性设置为中文。方法是:鼠标右键单击资源视图的菜单资源IDR_MAINFRAME,弹出快捷菜单,选择Properties,弹出整个菜单资源的属性对话框,如下图所示。 3.5 用ClassWizard自动映射菜单消息 1.启动ClassWizard应用程序 从“查看”(View)菜单或源程序编辑窗口右键菜单中选择ClassWizard(快捷键:Ctrl+W),Developer Studio将弹出MFC ClassWizard对话框,如下图所示。 2.Message Maps的使用 其功能是可以让用户加入成员函数来处理消息,删除成员函数以及对成员函数进行编辑 。如下图所示。 为ID_DISPLAY增加消息处理成员函数OnDisplay,双击Member Functions列表中的OnDisplay,或点击命令按钮Edit Code,编辑OnDisplay成员函数,如下图所示。 3.添加脚本 在OnDisplay成员函数体中加入程序代码如下: void CMainFrame::OnDisplay( ) { AfxMessageBox(我已经学会了如何设计菜单程序); } 此时编译、连接程序后,点击此应用程序的“查看”菜单项下的“显示”命令,程序的执行结果如下图所示。 知识点: 消息框函数AfxMessageBox及MessageBox的功能是用来弹出一个消息框。它们的原型分别为: int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) –1 ); int MessageBox( LPCTSTR lpszText,LPCTSTR lpszCaption = NULL,UINT nType = MB_OK ); nType为消息框中显示的按钮风格和图标风格的组合,可以采用|(或)操作符组合各种风格。 如下表所示。 3.6 快捷菜单 1.相关知识 使用资源
文档评论(0)