常见对话框类型

通用对话框库为每种类型的通用对话框提供创建函数和结构。 若要以最简单的形式使用通用对话框,请调用其创建函数,并指定指向包含初始值和选项标志的 结构的指针。 初始化对话框后,对话框过程使用 结构返回有关用户输入的信息。 还可以自定义通用对话框以满足应用程序的需求。

下表提供了不同类型的常用对话框的简要说明,并显示了每种类型使用的函数和结构。

对话框 说明
颜色
显示可用颜色,并选择性地允许用户创建自定义颜色。 用户可以选择基本或自定义颜色。 使用 ChooseColor 函数和 CHOOSECOLOR 结构。 有关详细信息,请参阅 颜色对话框
查找
显示一个对话框,用户可在其中键入要查找的字符串。 用户还可以指定搜索选项,例如搜索方向以及搜索是否区分大小写。 使用 FindText 函数和 FINDREPLACE 结构。 有关详细信息,请参阅 查找和替换对话框
字体
显示一个对话框,用户可在其中选择字体系列和关联的字体样式、磅号和其他字体属性,如字体颜色、下划线或删除线。 使用 ChooseFont 函数和 CHOOSEFONT 结构。 有关详细信息,请参阅 字体对话框
打开
显示一个对话框,用户可在其中键入或选择要打开的文件或 shell 名称空间对象的名称。 该对话框包括驱动器、目录和 shell 名称空间扩展的列表,这些扩展使用户能够浏览 shell 名称空间。 它还包括文件扩展名的列表,使用户能够筛选显示的文件名。 使用 GetOpenFileName 函数和 OPENFILENAME 结构。 有关详细信息,请参阅 打开和另存为对话框
页面设置
显示当前页配置。 用户可以选择页面配置选项,例如纸张方向、大小、源和页边距。 使用 PageSetupDlg 函数和 PAGESETUPDLG 结构。 有关详细信息,请参阅 页面设置对话框
打印
显示有关已安装打印机及其配置的信息。 用户可以选择打印作业选项,例如要打印的页面范围和份数,然后开始打印过程。 使用 PrintDlg 函数和 PRINTDLG 结构。 有关详细信息,请参阅 打印对话框
若要显示 “打印 ”属性表而不是“ 打印 ”对话框,请将 PrintDlgEx 函数与 PRINTDLGEX 结构一起使用。 属性表的“ 常规 ”页类似于“ 打印 ”对话框。 属性表可以在 “常规 ”页之后具有其他特定于应用程序的属性页和特定于驱动程序的属性页。 有关详细信息,请参阅 打印属性表

显示一个对话框,用户可在其中键入要查找的字符串和替换字符串。 用户可以指定搜索选项(例如搜索是否区分大小写)和替换选项(例如替换范围)。 使用 ReplaceText 函数和 FINDREPLACE 结构。 有关详细信息,请参阅 查找和替换对话框
另存为
显示一个对话框,用户可在其中键入或选择要保存文件或 shell 名称空间对象的名称。 该对话框包括驱动器、目录和 shell 名称空间扩展的列表,这些扩展使用户能够浏览 shell 名称空间。 它还包括文件扩展名的列表,使用户能够筛选显示的文件名。 使用 GetSaveFileName 函数和 OPENFILENAME 结构。 有关详细信息,请参阅 打开和另存为对话框

虽然“ 打印设置 ”对话框可用,但它已被 “页面设置 ”对话框取代。 应用程序应使用“ 页面设置 ”对话框,而不是“ 打印设置 ”对话框。

“查找 ”和“ 替换 ”对话框外,所有常见对话框都是模式对话框。 用户必须先关闭模式对话框,然后用于创建对话框的函数才能返回。 “ 查找 ”和“ 替换 ”对话框是无模式的;函数在对话框关闭之前返回 。 如果使用“查找替换”对话框,还必须在应用程序的main消息循环中使用 IsDialogMessage 函数,以确保这些对话框正确处理键盘输入,例如 TAB 和 ESC 键。