- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC MFC学习课件第五章
本文由天地人1007贡献
ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
第5讲 菜单、工具栏和状态栏 讲 菜单、
1
文档应用程序框架
VC的MFC库支 VC的MFC库支 持三种不同的 应用程序 单文档界面(SDI) 单文档界面(SDI) 多文档界面(MDI) 多文档界面(MDI) 基于对话框的应用程序 SDI的应用程序 SDI的应用程序 只有一个窗口 MDI的应用程序每次 MDI的应用程序每次 可以读写多个文件或 文档, 文档,可同时对多个 文档进行操作, 文档进行操作,可以 有多个子窗口
使用AppWizard创建 使用AppWizard创建 AppWizard SDI和MDI界面的应用 SDI和MDI界面的应用 程序的过程几乎完全 一样 主 要 差 别
在创建SDI界面的应用程序时, 在创建SDI界面的应用程序时,不生成 SDI界面的应用程序时 CChildFrame类 CMainFrame类的基类为 CChildFrame类,CMainFrame类的基类为 CFrameWnd 在创建MDI界面的应用程序时, 在创建MDI界面的应用程序时,CMainFrame MDI界面的应用程序时 类的基类为CMDIFrameWnd 类的基类为CMDIFrameWnd
2
Doc/View框架的主要成员 框架的主要成员
Doc/View框架虽然可以调用成百上千个不同的 类,但是核心类只有五个: CWinApp CDocument CView CDocTemplate CFrameWnd
3
Windows程序中的资源 程序中的资源
在Windows的可执行文件中,资源是独立于 代码的,使用单独的Resource Compiler进行 编译,并嵌入到可执行文件中。 在编程过程中,代码是可复用的,资源也是 可复用的,通过资源的“导入”和“导出” 功能来实现资源的可复用。 程序的国际化,也是通过资源来实现的。
4
Windows程序中的资源 程序中的资源
加速键 位图 光标 对话框 菜单 字符串 工具条
5
资源
5.2 菜单
菜单是Windows图 图 菜单是 形用户界面中窗口 的重要组成部分 加速键可使 菜单的操作 更灵活快捷 窗口主菜单条 下拉式菜单框 菜单项热键标识 菜单项加速键标识 菜单项分隔线 选中与否的标识 两种资源往往密不可 分
菜单可使用户 直观 地了解并使用 应用 程序所提供的 功能
6
5.2.1 编辑器设计菜单
用编辑器设计菜单
编辑菜单 在菜单的空位置上双击鼠标左键,则出现它的属性对话 框,如图。
菜单的空位置
7
5.2.1 编辑器设计菜单
图6.3 菜单属性对话框
8
5.2.1 编辑器设计菜单
需要注意的是:
当菜单项的属性中选中了Pop_up时,对话框中ID、 Separator和Prompt项无效。 增加新的菜单项后,用户可以用鼠标将菜单项拖到其他位 置,而当菜单项位置改变时,其属性并没改变。
菜单项被拖动的位置
图6.5 添加的菜单项
9
5.2.1 编辑器设计菜单
菜单命令的消息映射
[例Ex_Mmenu]“成绩输入”菜单项的映射。
(1)选择“View”菜单 “ClassWizard”命令项或按Ctrl+w 快捷键,则出现MFC ClassWizard对话框,切换到Message Maps页面。 (2)从“Class name”列表中选择CMainFrame,在IDs列表中 选择ID_SCORE_IN,然后在Messages框中选择 COMMAND消息,如图。
10
5.2.1 编辑器设计菜单
(3)单击[Add Function]按钮或双击COMMAND 消息,输入成员函数的名称。如图。 (4)单击[OK]。选择新增加的成员函数,单击 [Edit Code]按钮(或直接在函数名双击鼠标左键), 就可以在此成员函数中添加一些代码。例如: void CMainFrame::OnScoreIn() { // TODO: Add your command handler code here AfxMessageBox(现在就输入成绩吗?); 图6.8 菜单命令执行的结果 图6.7 添加成员函数对话框 } (5)编译并运行。在应用程序的顶层菜单上,单 击“成绩输入”菜单项或按Alt+S组合键,如图。
文档评论(0)