Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第10章对话框.ppt

Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第10章对话框.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows程序设计教程 第10 章对话框 对话框作为Windows程序的一种资源,发挥着人机交互的重要作用。 因此,对话框在应用程序开发过程中有着不可替代的作用。 对话框一般作为其他控件的载体,其正是通过这些控件的输入输出完成了人机交互。 下面对对话框的相关知识进行详细介绍。 10.1 对话框的基础知识 想要创建基于对话框的MFC应用程序,首先需要了解对话框的基本知识点。 下面将简单介绍对话框的基础知识。 10.1.1 对话框概述 在MFC中,提供了一系列的对话框类,主要包括CDialog类及其派生类,如表10.1所示。 10.1.2 对话框分类 对话框分为两种:模态对话框和非模态对话框。 1.模态对话框 当一个模态对话框工作时,其他窗口将失去输入焦点。 只有当该模态对话框关闭后,用户才能对其他窗口进行操作。 例如,Microsoft Word中对图片进行操作时的【题注】对话框、【设置图片格式】对话框和【插入超链接】对话框都是模态对话框,如图10.1所示。 2.非模态对话框 非模态对话框与模态对话框相反。 当其工作时,点击其他窗口,被点击的窗口可以获得输入焦点。 例如,Microsoft Word中常用的【查找和替换】对话框,就是非模态对话框,如图10.2所示。 模态对话框与非模态对话框的区别如下: (1)模态对话框由CDialog::DoModal()函数创建,而非模态对话框由CDialog::Create()函数来创建; (2)CDialog::DoModal()函数负责显示其所创建的模态对话框,而非模态对话框需要调用CDialog::ShowWindow()函数来显示对话框; (3)CDialog::DoModal()函数负责销毁其所创建的模态对话框,而非模态对话框必须调用CWnd::DestoryWindow()函数来关闭对话框。 10.2 消息对话框 消息对话框是最常用的对话框。 通过消息对话框,可以传递用户的选择,输出提示、警告和错误等类型的信息。 下面对消息对话框进行详细介绍。 10.2.1 消息对话框概述 通过调用MessageBox()函数即可弹出一个消息对话框。 MessageBox()函数的原型如下: Int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR IpCaption, UINT UType ); 10.2.2 消息对话框样式 在MessageBox()函数的参数UType中,可以设置对话框的样式。 如果向该参数传递多个数据,可以用“|”进行分隔。 消息对话框中图标的类型及其对应的参数如表10.3所示。 消息对话框中按钮的类型及其对应的说明如表10.4所示。 10.2.3 消息对话框的返回值 当选择消息对话框中的按钮后,MessageBox()函数会返回一个int值。 该返回值及其含义如表10.6所示。 10.3 模态对话框 当模态对话框处于显示状态时,用户不能在对话框与同一个程序中的其他窗口之间进行切换,使用者必须首先关闭该对话框。 下面将介绍创建并使用模态对话框时需要用到的知识点。 10.3.1 创建模态对话框 在前面已经介绍过如何创建一个基于对话框的MFC应用程序。 下面将介绍如何为一个应用程序添加另外的对话框。 10.3.2 创建对话框类 在上一节的操作中,只是创建了一个对话框的模板。 但想要使用该对话框,就要为其添加相应的MFC类。 下面将介绍如何为对话框资源添加相应的类。 10.3.3 添加程序代码 在应用程序的原有对话框中弹出刚刚创建的对话框。 要想实现这一过程,需要为主对话框的【确定】按钮添加消息响应函数。 1.构造CCompareDlg类的对象 在上述操作步骤中,首先要构造一个【比较大小】对话框CCompareDlg类的对象。 2.创建对话框 构造完CCompare类的一个对象后,调用的是

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档