- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 对话框程序 Windows应用程序经常通过对话框与用户通信。 对话框是一种用户界面,是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据。 控件是嵌入在对话框中或其他父窗口中的一个特殊的小窗口,用于完成不同的输入输出功能 在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互。 对话框概述 对话框实际上是一个窗口,在MFC中,对话框的功能被封装在了CDialog类中,CDialog类是CWnd类的派生类。 作为窗口,对话框具有窗口的一切功能。对话框的一个典型应用是通过菜单命令或工具栏按钮打开一个对话框,当然对话框也可以作为一个应用程序的主界面。 对话框类型 对话框分为模态对话框和非模态对话框两种类型。 模态对话框垄断了用户的输入,当一个模态对话框打开时,用户只能与该对话框进行交互,而其它用户界面对象收不到用户的输入信息。 非模态对话框类似普通的窗口,并不垄断用户的输入。在非模式对话框打开时,用户随时可用鼠标单击等手段激活其他窗口对象,操纵完毕后再回到本对话框。 对话框组成 从MFC编程的角度来看,一个对话框由两部分组成: ?????对话框模板资源:对话框模板用于指定对话框的形状、所用控件及其分布,Developer Studio根据对话框模板来创建对话框对象。 ?????对话框类:对话框类用来实现对话框的功能。由于各应用程序中的对话框具体功能不同,因此一般要从CDialog类中派生一个新类,以便添加特定的数据成员和成员函数。 对话框模板的设计 包括对话框模板的设计和对话框类的设计两个主要方面。 对话框模板的设计应有以下步骤: 1.向项目中添加对话框模板资源; 2.编辑对话框模板资源,加入所需的控件; 3.从CDialog类派生对话框类,加入与各控件对应的数据成员; 4.在框架窗口类或视图类的菜单选项、鼠标事件或其他消息响应函数中添加对话框对象的应用代码。 对话框类的设计 对话框类的设计应有以下步骤: 1.从CDialog类派生一个对话框类,并通过对话框模板资源的ID建立它们之间的对应关系; 2.为对话框类添加与各控件相对应的成员变量 3.为对话框进行初始化工作 4.增加对控件通知消息的处理。 4.2模态对话框 在程序中使用模态对话框有两个步骤: 1.在视图类或框架窗口类的消息响应函数(如鼠标消息或菜单选项的命令消息响应函数)中说明一个对话框类的对象(变量) 2.调用CDialog::DoModal()成员函数。 DoModal函数 DoModal函数负责模态话框的创建和撤销。 在创建对话框时,DoModal()函数的任务包括载入对话框模板资源、调用OnInitDialog()函数初始化对话框和将对话框显示在屏幕上。 完成对话框的创建后,DoModal()函数启动一个消息循环,以响应用户的输入。由于该消息循环截获了几乎所有的输入消息,使主消息循环收不到对对话框的输入,致使用户只能与模态对话框进行交互,而其它用户界面对象收不到输入信息。 在应用程序中,可根据DoModal()函数的返回值是IDOK还是IDCANCEL来判断用户是确定还是取消了对对话框的操作。 关闭对话框 如果用户在对话框内单击了标识符为IDOK的按钮,或者按了回车键,则CDialog::OnOK()函数会被调用。OnOK()函数首先调用UpdateData()函数将数据从控件传给对话框成员变量,然后调用CDialog::EndDialog()函数关闭对话框。关闭对话框后,DoModal()函数会返回值IDOK。 如果用户单击了标识符为IDCANCEL的按钮,或按了ESC键,则会导致对CDialog::OnCancel()函数的调用。该函数只调用CDialog::EndDialog()函数关闭对话框。关闭对话框后,DoModal()函数会返回IDCANCEL。 MFC AppWizard应用程序向导 MFC AppWizard应用程序向导可以创建文档视图结构的应用程序框架,也可以创建基于对话框的应用程序框架。 在MFC AppWizard向导的第1步选择Dialog Based选项,按照对话框应用程序向导提示的步骤进行操作就可以得到一个对话框应用程序项目。 利用向导创建应用程序的框架后,程序员可用所见即所得的可视化工作方式设计对话框模板, 也可根据程序具体功能要求为对话框类添加成员和代码。 简单的对话框程序案例 例4.1 编写一个对话框应用程序MyDialog,程序运行后显示一个对话框,并在对话框上显示文本串“这是一个对话框应用程序”。 简单对话框程序案例的生成与操作过程 (1)用AppWizard[exe]
您可能关注的文档
- Visual Basic语言程序设计教程程胜利电子教案 第5章 Visual Basic语法基础.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第6章 顺序结构.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第7章 选择结构.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第8章 循环结构.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第9章 数组.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第10章 过程.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第11章 文件.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第12章 菜单与对话框.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第13章 数据库.ppt
- Visual Basic语言程序设计教程程胜利电子教案 第14章 图形处理.ppt
- Visual C++程序设计 教学课件 作者 严迪新 班建民 主编 第五章 常用控件.ppt
- Visual C++程序设计 教学课件 作者 严迪新 班建民 主编 第一章 从C到C++.ppt
- Visual C++程序设计 王永国 教学课件 作者 6002 第6章.ppt
- Visual C++程序设计基础 第1章 绪论ok.ppt
- Visual C++程序设计基础 第2章 基本数据类型及表达式ok.ppt
- Visual C++程序设计基础 第3章 结构化程序设计ok.ppt
- Visual C++程序设计基础 第4章 数组与指针ok.ppt
- Visual C++程序设计基础 第5章 函数与预处理ok.ppt
- Visual C++程序设计基础 第6章 构造数据类型ok.ppt
- Visual C++程序设计基础 第7章 类与对象ok.ppt
文档评论(0)