第4章对话框设计和编程.ppt
《第4章对话框设计和编程.ppt》由会员分享,可在线阅读,更多相关《第4章对话框设计和编程.ppt(34页珍藏版)》请在三一办公上搜索。
1、第4章 对话框设计和编程构建人机交互界面,提升系统交互能力,教学内容4.1 对话框基础知识4.2 对话框设计EX04A示例程序4.3 滚动条、旋转按钮和滑动条控件4.4 无模式对话框4.5 公用对话框4.6 综合实例宾馆管理系统的界面设计4.7 小结 思考与练习,4.1 对话框基础知识,4.1.1 对话框的分类 按照运行机制来划分,对话框可分为模式对话框和无模式对话框。1、对于模式对话框,如打开文件对话框,在该对话框被关闭之前,用户将无法在同一程序的其他地方进行工作。2、对于无模式对话框,在它仍然保留在屏幕上的同时,用户还可以在应用程序的其它窗口中进行工作。Microsoft Word中的“查
2、找与替换”对话框就是无模式对话框的一个很好的例子,在该对话框打开的同时,我们仍然可以对文档进行编辑。,4.1 对话框基础知识,4.1.2 对话框的组成1、对话框资源模板 对话框资源模板不但指定了对话框本身的位置、大小、风格等特征,还确定了它所包含的各种控件的位置、大小分割、排列和其他特征,实际上模板中储存了Windows用于创建或显示对话框的所有信息。2、对话框类 在Visual C+.NET中,每个对话框都必须有一个类与之对应。由于不同的对话框行使的功能各不相同,因此一般需要从CDialog类派生一个新类以完成特定功能。CDialog中提供了多个与对话框编程密切相关的函数供程序员调用,从而大
3、大简化了编程代码,提高效率。,4.1 对话框基础知识,4.1.3 对话框的创建,4.2 对话框设计EX04A示例程序,4.2 对话框设计EX04A示例程序,4.2.1 创建对话框资源创建对话框资源的步骤如下:1、运行应用程序向导来产生名为EX04A的单文档的应用程序,并取消“打印和打印预览”选项,其它所有选项选择默认值。2、插入对话框资源。在应用程序的设计环境中换至“资源视图”框,右击Dialog图标,在弹出的快捷菜单中单击“插入Dialog.”命令,将会在Dialog节点下增加一项ID号为IDD_DIALOG1的对话框模板资源,单击Dialog节点将其展开即可看到。,4.2 对话框设计EX0
4、4A示例程序,4.2.1 创建对话框资源创建对话框资源的步骤如下:1、运行应用程序向导来产生名为EX04A的单文档的应用程序,并取消“打印和打印预览”选项,其它所有选项选择默认值。2、插入对话框资源。在应用程序的设计环境中换至“资源视图”框,右击Dialog图标,在弹出的快捷菜单中单击“插入Dialog.”命令,将会在Dialog节点下增加一项ID号为IDD_DIALOG1的对话框模板资源,单击Dialog节点将其展开即可看到。,4.2 对话框设计EX04A示例程序,4.2.1 创建对话框资源3、设置对话框的属性。选中对话框,在“属性”框中设置对话框的标题:“对话框示例”、对话框ID:IDD_
5、MYDIALOG和其他的一些属性,并扩大对话框的边界到合适的大小。,4.2 对话框设计EX04A示例程序,4.2.1 创建对话框资源4、向对话框模板中添加控件。利用控件工具箱加入每一个控件,具体方法如下:用鼠标将控件从工具箱中拖到对话框中合适的位置,释放鼠标,并设置其大小。说明:在对话框编辑界面下,可以选定一个或通过按住Ctrl键不妨用鼠标左键单击选定多个控件,在对话框中复制并粘贴,可以添加如与原来控件外观一样的新控件。,4.2 对话框设计EX04A示例程序,4.2.1 创建对话框资源5、设置对换框中控件的风格。具体方法如下:用鼠标选定控件,在“属性”对话框中按要求输入控件属性,如在ID框中输
6、入标识控件的唯一ID值,在Caption中输入控件上显示的字符(Edit控件没有这一属性),Visible表示该控件在对话框创建时是否显示,Group用来控制控件分组,Disabled使控件不可用,Tab stop表示是否用Tab键选择控件。,4.2 对话框设计EX04A示例程序,4.2.1 创建对话框资源6、检查对话框的Tab键顺序。从对话框编辑器的【格式】菜单中选择【Tab键顺序】命令,或者同时按下Ctrl+D键,此时每个控件的左上方都有一个数字,表明了当前Tab键次序。然后按图4-5所示用鼠标依次单击各个控件来设置新的Tab键顺序,最后单击对话框或者按下Enter键结束Tab键顺序设置。
7、,4.2 对话框设计EX04A示例程序,4.2.1 创建对话框资源,4.2 对话框设计EX04A示例程序,4.2.2 定义对话框类,4.2 对话框设计EX04A示例程序,4.2.3 对话框的实现1、在视图类中添加菜单“【对话框】|【学生问卷调查】”,并利用“添加事件向导”为该菜单添加消息响应函数。2、向菜单的消息响应函数中添加如下代码:CStuDlg dlg;dlg.DoModal();/显示对话框3、在视图类的实现文件(.cpp)中加入对话框类的包含文件:#include“StuDlg.h”4、编译和测试该应用程序。当单击菜单【对话框】的【学生问卷调查】命令将弹出学生问卷调查对话框。,4.2
8、 对话框设计EX04A示例程序,4.2.4 对话框程序的完善1、为对话框类加入与控件相对应的成员变量对话框的主要功能是通过所包含的控件进行数据的输入和输出,要使对话框能与程序通讯,还需给对话框类增加数据成员,以保存各控件的初始值,并从控件读取数据。与控件对应的成员变量既可以是一个数据变量,也可以是一个控件对象,这将由具体需要来确定。如果是需要交换的控件,则定义对应的数据变量。如果需要在程序中对控件进行控制,则定义对应的对象。例如,编辑框指定一个CEdit对象,通过CEdit对象,程序员可以控制控件的行为。,4.2 对话框设计EX04A示例程序,4.2 对话框设计EX04A示例程序,4.2.4
9、对话框程序的完善2、数据交换和检验对话框程序运行时,用户更改控件属性,如在编辑框中输入文字或改变复选框的选中状态时,MFC会修改对应控件变量的值。这个过程是通过MFC为对话框类自动添加的成员函数DoDataExchange()实现的,称为对话框数据交换和检验机制。控件和控件变量之间的数据交换并非自动完成的,而是需要调用CDialog:UpdateData()函数才能实现从控件到控件变量或者从控件变量到控件的数据传送。CDialog:UpdateData()函数的原型为:BOOL UpdateData(BOOL bSaveAndValidate=TRUE);bSaveAndValidate参数用
10、于指定数据的传输方向,TRUE表示将数据从控件传送给变量,FALSE则表示将数据从变量传给控件。,4.2 对话框设计EX04A示例程序,4.2.4 对话框程序的完善3、为对话框类添加控件通知消息的处理函数(1)对CDialog的OnInitDialog函数进行重写,以实现对话框控件的初始化。具体方法如下:将工作区视图切换到“类视图”,并选中对话框类CStuDlg,在该类的属性对话框中用鼠标单击“重写”图标,添加OnInitDialog函数,如图4-8所示。,4.2 对话框设计EX04A示例程序,4.2.4 对话框程序的完善3、为对话框类添加控件通知消息的处理函数(2)利用属性对话框为省份组合框
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对话框 设计 编程
链接地址:https://www.31ppt.com/p-6111101.html