通用对话框库

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

本节介绍包含 " 打开 " 和 " 另存为 文件" 对话框的常见对话框;" 查找替换 " 编辑对话框;" 打印"、" 打印设置"、" 打印属性表" 和 " 页面设置 打印" 对话框;和 " 颜色 " 和 " 字体 " 对话框。

备注

从 Windows Vista 开始,"打开" 和 "另存为" 通用对话框已被 "常用项" 对话框取代。 建议使用 common Item 对话框 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 消息发送到 "字体 "对话框以设置当前逻辑字体信息。

通知

名称 说明
_CDNFILEOK 当用户指定 文件名并单击"确定"按钮时,由资源管理器样式的"打开"或"另存为 " 对话框发送。
_CDNFOLDERCHANGE 打开新文件夹时由资源管理器样式 "打开" 或"另 存为"对话框发送。
_CDN帮助 当用户单击"帮助"按钮 时,由资源管理器样式的"打开"或"另存为 "对话框发送
_CDNINCLUDEITEM 由" 打开" 或" 存为"对话框发送,用于确定对话框是否应该在 shell 文件夹的项列表中显示项。 当用户打开文件夹时,该对话框CDN文件夹中每个项的 _ INCLUDEITEM通知。 只有在创建对话框时设置了 OFN _ ENABLEINCLUDENOTIFY 标志时,该对话框才发送此通知。
_CDNINITDONE 由资源管理器样式的 "打开**"或**"另存为"对话框在系统完成排列对话框中的控件后发送。 系统移动标准控件,为子对话框的控件提供空间。
_CDNSELCHANGE 当列表框中显示 当前打开的文件夹 或目录的内容的选择更改时,由资源管理器样式的"打开"或"另存为"对话框发送。
_CDNSHAREVIOLATION 当用户单击"确定"按钮并且所选文件出现网络共享冲突时,资源管理器样式的"打开"或"另存为"对话框发送。
_CDNTYPECHANGE 当用户从 文件类型组合框中 选择新文件类型时,由资源管理器样式的"打开"或"另存为"对话框发送。
COLOROKSTRING 当用户 选择 颜色并单击"确定"按钮时,"颜色"对话框将 COLOROKSTRING注册消息发送到挂钩过程 CCHookProc。 挂钩过程可以接受颜色并允许对话框关闭,或拒绝该颜色并强制对话框保持打开状态。
FILEOKSTRING 当用户 指定 文件名 单击"确定"按钮时,"打开"或"另存为"对话框将向挂钩过程 OFNHookProc发送 FILEOKSTRING 注册消息。 挂钩过程可以接受文件名并允许关闭对话框,或拒绝文件名并强制对话框保持打开状态。
FINDMSGSTRING 当用户 单击"查找下一个"、"替换"或"全部替换"按钮或关闭对话框时,"查找或替换"对话框将 FINDMSGSTRING注册消息发送到其所有者窗口的窗口 过程
HELPMSGSTRING 当用户单击"帮助"按钮时,常见对话框将 HELPMSGSTRING 注册消息发送到其所有者窗口 的窗口 过程。
LBELCHSTRING 对话框 的任何 列表 框或组合框中的选择发生更改时,"打开"或"另存为"对话框将向挂钩过程发送 已注册的 LBELCHSTRING 消息。
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 包含有关 "打开" 或 "另存为" 对话框发送到 OFNHookProc挂钩过程的 WM _ 通知消息的信息。 WM _ 通知 消息的 LParam 参数是指向 OFNOTIFY结构的指针。
OFNOTIFYEX 介绍 CDN _ INCLUDEITEM通知消息。
OPENFILENAME 包含 GetOpenFileNameGetSaveFileName 函数用来初始化 " 打开 " 或 " 另存为 " 对话框的信息。 用户关闭对话框后,系统将返回有关用户在此结构中所选内容的信息。
OPENFILENAME _ NT4 与 WIN32 Winnt.sif 相同的 OPENFILENAME _ _ 设置为0x0400。
PAGESETUPDLG 包含 PageSetupDlg 函数用来初始化 " 页面设置 " 对话框的信息。 用户关闭对话框后,系统将返回此结构中有关用户定义的页参数的信息。
PRINTDLG 包含 PrintDlg 函数用来初始化 " 打印" 对话框的信息。 用户关闭对话框后,系统将使用此结构返回用户所选内容的相关信息。
PRINTDLGEX 包含 PrintDlgEx 函数用于初始化 Print 属性表的信息。 用户关闭属性表后,系统将使用此结构返回用户所选内容的相关信息。
PRINTPAGERANGE 指定打印作业中的一系列页面。 打印作业可以有多个页面范围。 调用 PRINTDLGEX函数时,此信息在 PRINTDLGEX结构中提供。