首页 理论教育MFC系统对话框及应用实例

MFC系统对话框及应用实例

【摘要】:MFC封装了一些CDialog的派生类,提供常用的对话框功能,称之为系统对话框或者通用对话框,见表5-5。表5-5 系统对话框类及功能描述1)在MFC启动函数,在App::InitInstance函数中,对表5-5中的系统对话框类进行测试。CFileDialog是最常用的系统对话框类,文件对话框的结构设置主要通过CFileDialog类的构造函数实现。表5-6 CFileDialog类构造函数说明5)打开本章第3节的“QQ”工程,在“信息管理”对话框中,双击“保存”按钮建立消息映射函数。

MFC封装了一些CDialog的派生类,提供常用的对话框功能,称之为系统对话框或者通用对话框,见表5-5。这些设计完整并且功能齐全的对话框类使开发效率提高了。

表5-5 系统对话框类及功能描述

978-7-111-46378-8-Chapter05-56.jpg

1)在MFC启动函数,在App::InitInstance函数中,对表5-5中的系统对话框类进行测试。

978-7-111-46378-8-Chapter05-57.jpg

978-7-111-46378-8-Chapter05-58.jpg

2)文件对话框类。

CFileDialog是最常用的系统对话框类,文件对话框的结构设置主要通过CFileDialog类的构造函数实现。其中lpszFilter参数是一个字符串,用于设置文件类型筛选器,是文件对话框中最重要的设置。文件类型下拉列表中每一项都是一个筛选器,由显示文字和筛选类型两部分组成,两者之间由“|”符号间隔。例如,“文本文件|*.txt||”,代表文件类型下拉列表中显示“文本文件”,筛选的内容是所有TXT类型文件,最后多一个“|”符号表示结尾。

CFileDialog封装的API是GetOpenFileName和GetSaveFileName函数,两个函数的参数都是OPENFILENAME结构体。在MSDN的OPENFILENAME的页面中,包括了关于文件对话框的所有风格的详细说明。一些风格是针对打开对话框有效的,例如,OFN_ALLOWMULTISELECT和OFN_FILEMUSTEXIST等;另一些是针对另存为对话框有效的,例如,OFN_OVERWRITEPROMP等;还有一些是两种对话框公用的风格,例如,OFN_OFN_LONGNAMES和OFN_SHOWHELP等。

3)CFileDialog类的构造函数。

978-7-111-46378-8-Chapter05-59.jpg

4)通过查看MSDN了解每一个参数的用途和使用方法,见表5-6。(www.chuimin.cn)

表5-6 CFileDialog类构造函数说明

978-7-111-46378-8-Chapter05-60.jpg

5)打开本章第3节的“QQ”工程,在“信息管理”对话框中,双击“保存”按钮建立消息映射函数。

978-7-111-46378-8-Chapter05-61.jpg

6)在“信息管理”对话框中,双击“加载”按钮建立消息映射函数。

978-7-111-46378-8-Chapter05-62.jpg

978-7-111-46378-8-Chapter05-63.jpg

7)编译并运行,测试代码,如图5-26所示。

978-7-111-46378-8-Chapter05-64.jpg

图5-26 查看运行结果

在“信息管理”对话框中添加一些数据,然后单击“保存”按钮,保存列表数据到一个指定的文件中。重新启动软件再单击“加载”按钮,打开刚才保存过的文件,列表中的数据和保存时是一致的。