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 エラー コードが返されます。

リターン コード 説明
E_UNEXPECTED

SetFileTypes は既に呼び出されています。

E_UNEXPECTED
FOS_PICKFOLDERS フラグは、IFileDialog::SetOptions メソッドで設定されました。
E_INVALIDARG
rgFilterSpec パラメーターは NULL です

注釈

[開く] ダイアログを使用する場合は、そこで宣言されたファイルの種類を使用してビューをフィルター処理します。 [保存] ダイアログを使用する場合、これらの値によって、ファイル名に追加されるファイル名拡張子が決まります。

このメソッドは、ダイアログが表示される前に呼び出す必要があり、ダイアログ インスタンスごとに 1 回だけ呼び出すことができます。 [共通項目] ダイアログ ボックスが表示された後は、ファイルの種類を変更できません。

次のコード例では、このメソッドのコンテキストで COMDLG_FILTERSPEC 構造体の配列を使用する方法を示します。 配列の例は、3 つの COMDLG_FILTERSPEC 構造体で構成されています。 1 つ目はダイアログ フィルターの 2 つのパターンを宣言し、2 つ目は 1 つのパターンを宣言し、最後にはすべての型のファイルを表示します。 変数 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 を含む)