IFileDialog::SetFileTypes 方法 (shobjidl_core.h)
设置对话框可以打开或保存的文件类型。
语法
HRESULT SetFileTypes(
[in] UINT cFileTypes,
[in] const COMDLG_FILTERSPEC *rgFilterSpec
);
参数
[in] cFileTypes
类型: UINT
rgFilterSpec 指定的数组中的元素数。
[in] rgFilterSpec
类型: const COMDLG_FILTERSPEC*
指向 COMDLG_FILTERSPEC 结构数组的指针,每个结构表示一个文件类型。
返回值
类型: HRESULT
如果该方法成功,则它会返回 S_OK。 否则,它将返回 HRESULT 错误代码,包括以下内容:
返回代码 | 说明 |
---|---|
|
SetFileTypes 已调用。 |
|
FOS_PICKFOLDERS标志是在 IFileDialog::SetOptions 方法中设置的。 |
|
rgFilterSpec 参数为 NULL。 |
注解
使用 “打开 ”对话框时,声明的文件类型用于筛选视图。 使用 “保存 ”对话框时,这些值确定将哪个文件扩展名追加到文件名中。
必须在显示对话框之前调用此方法,并且每个对话实例只能调用一次。 显示“通用项”对话框后,无法修改文件类型。
示例
下面的代码示例演示如何在此方法的上下文中使用 COMDLG_FILTERSPEC 结构的数组。 示例数组由三个 COMDLG_FILTERSPEC 结构组成。 第一个声明对话框筛选器的两个模式,第二个声明单个模式,最后一个显示所有类型的文件。 假定变量 szJPG、szBMP 和 szAll 是以前声明的字符串,这些字符串为每个筛选器提供友好名称。
COMDLG_FILTERSPEC rgSpec[] =
{
{ szJPG, L"*.jpg;*.jpeg" },
{ szBMP, L"*.bmp" },
{ szAll, L"*.*" },
};
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈