共用方式為


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 錯誤碼,包括下列專案:

傳回碼 Description
E_UNEXPECTED

已呼叫 SetFileTypes

E_UNEXPECTED
FOS_PICKFOLDERS旗標已在 IFileDialog::SetOptions 方法中設定。
E_INVALIDARG
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)