通用对话框库

通用对话框库包含一组用于执行常见应用程序任务的对话框,例如打开文件、选择颜色值和打印文档。 使用通用对话框可以实现应用程序的用户界面的一致方法。 这减少了用户在学习应用程序的用户界面行为时花费的工作量。

本节介绍包括打开另存为文件对话框;查找替换 编辑对话框;打印打印设置打印属性表页面设置打印对话框;以及颜色字体对话框的通用对话框。

注意

从 Windows Vista 开始,打开另存为通用对话框已被通用项对话框取代。 建议使用通用项对话框 API,而不是通用对话框库中的这些对话框。

本节内容

名称 描述
通用对话框类型 讨论不同的对话框。
通用对话框初始化标志 讨论如何使用标志来修改通用对话框的行为和外观。
自定义通用对话框 讨论如何使用通用对话框。
使用通用对话框 涵盖调用通用对话框的任务。
通用对话框参考 包含 API 引用。

函数

名称 描述
CCHookProc 接收用于颜色对话框的默认对话框过程的消息或通知。 这是与 ChooseColor 函数一起使用的应用程序定义或库定义的回调函数。
CFHookProc 接收用于字体对话框的默认对话框过程的消息或通知。 这是与 ChooseFont 函数一起使用的应用程序定义或库定义的回调过程。
ChooseColor 创建一个颜色对话框,使用户能够选择颜色。
ChooseFont 创建一个字体对话框,使用户能够选择逻辑字体的属性。 这些属性包括字体系列和相关字体样式、点大小、效果(下划线、删除线和文本颜色),以及脚本(或字符集)。
CommDlgExtendedError 返回一个通用对话框错误代码。 此代码指示执行其中一个通用对话框函数期间发生的最新错误。
FindText 创建系统定义的无模式查找对话框,允许用户指定要搜索的字符串,并在文档中搜索文本时要使用的选项。
FRHookProc 接收用于查找替换对话框的默认对话框过程的消息或通知。 这是与 FindTextReplaceText 函数一起使用的应用程序定义或库定义的回调函数。
GetFileTitle 检索指定文件的名称。
GetOpenFileName 创建一个打开对话框,允许用户指定要打开的文件或文件集的驱动器、目录和名称。
GetSaveFileName 创建一个打开对话框,允许用户指定要保存的文件的驱动器、目录和名称。
OFNHookProc 接收从对话框发送的通知消息。 该函数还会接收通过指定子对话模板定义的任何其他控件的消息。 这是与资源管理器样式的打开另存为对话框一起使用的应用程序定义或库定义的回调函数。
OFNHookProcOldStyle 接收适用于对话框过程的消息或通知。 这是与打开另存为对话框一起使用的应用程序定义或库定义的回调函数。
PagePaintHook 接收消息,这些消息允许自定义页面设置对话框中示例页面的绘图。 这是与 PageSetupDlg 函数一起使用的应用程序定义或库定义的回调函数。
PageSetupDlg 创建页面设置对话框,使用户能够指定打印页面的属性。 这些属性包括纸张大小和源、页面方向(纵向或横向),以及页边距的宽度。
PageSetupHook 接收用于页面设置对话框的默认对话框过程的消息或通知。 这是与 PageSetupDlg 函数一起使用的应用程序定义或库定义的回调函数。
PrintDlg 显示“打印”对话框打印对话框允许用户指定特定打印作业的属性。
PrintDlgEx 显示一个打印属性表,使用户能够指定特定打印作业的属性。打印属性表具有一个常规页,其中包含类似于打印对话框的控件。 属性表还可以具有其他特定于应用程序的属性页和特定于驱动程序的属性页以及常规页。
PrintHookProc 接收用于打印对话框的默认对话框过程的消息或通知。 这是与 PrintDlg 函数一起使用的应用程序定义或库定义的回调函数。
ReplaceText 创建系统定义的无模式对话框,允许用户指定要搜索的字符串和替换字符串,以及用于控制查找和替换操作的选项。
SetupHookProc PrintDlg 函数一起使用的应用程序定义或库定义的回调函数。 挂钩过程接收用于打印设置对话框的默认对话框过程的消息或通知。

接口

名称 描述
IPrintDialogCallback 提供使应用程序能够在显示 打印属性表时从 PrintDlgEx 函数接收通知和消息的方法。
IPrintDialogServices 提供使用 PrintDlgEx 函数启用应用程序以检索有关当前所选打印机的信息的方法。

消息

名称 描述
CDM_GETFILEPATH 检索资源管理器样式的打开另存为对话框中所选文件的路径和文件名。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
CDM_GETFOLDERIDLIST 检索与资源管理器样式的打开另存为对话框当前打开的文件夹对应的项标识符列表的地址。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
CDM_GETFOLDERPATH 检索资源管理器样式的打开另存为对话框的当前打开的文件夹或目录的路径。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
CDM_GETSPEC 检索资源管理器样式的打开另存为对话框中当前所选文件的文件名(不包括路径)。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
CDM_HIDECONTROL 在资源管理器样式的打开另存为对话框中隐藏指定的控件。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
CDM_SETCONTROLTEXT 在资源管理器样式的打开另存为对话框中设置指定控件的文本。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
CDM_SETDEFEXT 设置资源管理器样式的打开另存为对话框的默认文件扩展名。 对话框必须是使用 OFN_EXPLORER 标志创建的;否则,消息将失败。
SETRGBSTRING 颜色对话框的挂钩过程 CCHookProc 可以将 SETRGBSTRING 注册的消息发送到对话框以设置当前颜色选择。
WM_CHOOSEFONT_GETLOGFONT 应用程序将 WM_CHOOSEFONT_GETLOGFONT 消息发送到字体对话框,以检索有关用户当前字体选择的信息。
WM_CHOOSEFONT_SETFLAGS 应用程序将 WM_CHOOSEFONT_SETFLAGS 消息发送到字体对话框,以设置对话框的显示选项。
WM_CHOOSEFONT_SETLOGFONT 应用程序将 WM_CHOOSEFONT_SETLOGFONT 消息发送到字体对话框,以设置当前的逻辑字体信息。

通知

名称 描述
CDN_FILEOK 当用户指定文件名并单击确定按钮时,资源管理器样式的打开另存为对话框发送。
CDN_FOLDERCHANGE 打开新文件夹时,资源管理器样式的打开另存为对话框发送。
CDN_HELP 当用户单击帮助按钮时,资源管理器样式的打开另存为对话框发送。
CDN_INCLUDEITEM 打开另存为对话框发送,以确定对话框是否应在 shell 文件夹的项目列表中显示项目。 当用户打开文件夹时,该对话框将为文件夹中的每一项发送 CDN_INCLUDEITEM 通知。 仅当创建对话框时设置了 OFN_ENABLEINCLUDENOTIFY 标志时,对话框才会发送此通知。
CDN_INITDONE 当系统完成在对话框中排列控件时,资源管理器样式的打开另存为对话框发送。 系统移动标准控件,为子对话框的控件腾出空间。
CDN_SELCHANGE 当选定内容在显示当前打开的文件夹或目录的内容的列表框中发生更改时,资源管理器样式的打开另存为对话框发送。
CDN_SHAREVIOLATION 当用户单击确定按钮,并且所选文件发生网络共享冲突时,由资源管理器样式的打开另存为对话框发送。
CDN_TYPECHANGE 当用户从文件类型组合框中选择新文件类型时,资源管理器样式的打开另存为对话框发送。
COLOROKSTRING 当用户选择颜色并单击确定按钮时,颜色对话框会将 COLOROKSTRING 注册的消息发送到挂钩过程 CCHookProc。 挂钩过程可以接受颜色并允许对话框关闭,或拒绝颜色并强制对话框保持打开状态。
FILEOKSTRING 当用户指定文件名并单击确定按钮时,打开另存为对话框会将 FILEOKSTRING 注册的消息发送到挂钩过程 OFNHookProc。 挂钩过程可以接受文件名称并允许对话框关闭,或拒绝文件名称并强制对话框保持打开状态。
FINDMSGSTRING 当用户单击查找下一个替换全部替换按钮或关闭对话框时, 查找替换对话框会将 FINDMSGSTRING 注册的消息发送到其所有者窗口的窗口过程。
HELPMSGSTRING 当用户单击帮助按钮时,通用对话框会将 HELPMSGSTRING 注册的消息发送到其所有者窗口的窗口过程。
LBSELCHSTRING 当选定内容在对话框的任何列表框或组合框中发生更改时,打开另存为对话框会将 LBSELCHSTRING 注册的消息发送到挂钩过程。
SHAREVISTRING 打开另存为对话框将 SHAREVISTRING 注册的消息发送到挂钩过程 OFNHookProc(如果用户单击确定按钮时所选文件发生共享冲突)。
WM_PSD_ENVSTAMPRECT 通知页面设置对话框的挂钩过程 PagePaintHook,该对话框即将绘制示例页的信封标记矩形。
WM_PSD_FULLPAGERECT 通知 PagePaintHook 挂钩过程,说明页面设置对话框中示例页面矩形的坐标。 当对话框即将绘制示例页的内容时,该对话框将发送此消息。
WM_PSD_GREEKTEXTRECT 通知页面设置对话框的挂钩过程 PagePaintHook,该对话框即将在示例页面的边距矩形内绘制希腊文本。
WM_PSD_MARGINRECT 通知页面设置对话框的挂钩过程 PagePaintHook,该对话框即将绘制示例页的边距矩形。
WM_PSD_MINMARGINRECT 通知 PagePaintHook 挂钩过程示例页面中边距矩形的坐标。 页面设置对话框将在即将绘制示例页面的内容时发送此消息。
WM_PSD_PAGESETUPDLG 通知 PagePaintHook 挂钩过程,即页面设置对话框即将绘制示例页的内容。 挂钩过程可以使用此消息执行与绘制示例页内容相关的初始化任务。
WM_PSD_YAFULLPAGERECT 通知页面设置对话框的挂钩过程 PagePaintHook,对话框即将绘制信封示例页面的返回地址部分。

结构

名称 描述
CHOOSECOLOR 包含 ChooseColor 函数用于初始化颜色对话框的信息。 用户关闭对话框后,系统将返回有关用户在此结构中的选择的信息。
CHOOSEFONT 包含 ChooseFont 函数用于初始化字体对话框的信息。 用户关闭对话框后,系统将返回有关用户在此结构中的选择的信息。
DEVNAMES 包含标识打印机的驱动程序、设备和输出端口名称的字符串。 PrintDlgExPrintDlg 函数使用这些字符串初始化系统定义的打印属性表打印对话框。 当用户关闭属性表或对话框时,将在此结构中返回有关所选打印机的信息。
FINDREPLACE 包含 FindTextReplaceText 函数用于初始化查找替换对话框的信息。 FINDMSGSTRING 注册的消息使用此结构将用户的搜索或替换输入传递给查找替换对话框的所有者窗口。
OFNOTIFY Ccontains 有关发送到打开另存为对话框的 OFNHookProc 挂钩过程的 WM_NOTIFY 消息的信息。 WM_NOTIFY 消息的 lParam 参数是指向 OFNOTIFY 结构的指针。
OFNOTIFYEX 包含有关 CDN_INCLUDEITEM 通知消息的信息。
OPENFILENAME 包含 GetOpenFileNameGetSaveFileName 函数用于初始化打开另存为对话框的信息。 用户关闭对话框后,系统将返回有关用户在此结构中的选择的信息。
OPENFILENAME_NT4 OPENFILENAME 相同,_WIN32_WINNT 设置为 0x0400。
PAGESETUPDLG 包含 PageSetupDlg 函数用于初始化页面设置对话框的信息。 用户关闭对话框后,系统将返回此结构中用户定义的页面参数的信息。
PRINTDLG 包含 PrintDlg 函数用于初始化“打印”对话框的信息。 用户关闭对话框后,系统使用此结构返回有关用户选择的信息。
PRINTDLGEX 包含 PrintDlgEx 函数用于初始化打印属性表的信息。 用户关闭属性表后,系统使用此结构返回有关用户选择的信息。
PRINTPAGERANGE 指定打印作业中的页面范围。 打印作业可以有多个页面范围。 调用 PrintDlgEx 函数时,此信息在 PRINTDLGEX 结构中提供。