Bagikan melalui


Metode IFileDialog::SetFileTypes (shobjidl_core.h)

Menyetel tipe file yang bisa dibuka atau disimpan dialog.

Sintaks

HRESULT SetFileTypes(
  [in] UINT                    cFileTypes,
  [in] const COMDLG_FILTERSPEC *rgFilterSpec
);

Parameter

[in] cFileTypes

Jenis: UINT

Jumlah elemen dalam array yang ditentukan oleh rgFilterSpec.

[in] rgFilterSpec

Jenis: const COMDLG_FILTERSPEC*

Penunjuk ke array struktur COMDLG_FILTERSPEC , masing-masing mewakili jenis file.

Mengembalikan nilai

Jenis: HRESULT

Jika metode berhasil, metode akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan, termasuk yang berikut ini:

Menampilkan kode Deskripsi
E_UNEXPECTED

SetFileTypes telah dipanggil.

E_UNEXPECTED
Bendera FOS_PICKFOLDERS diatur dalam metode IFileDialog::SetOptions .
E_INVALIDARG
Parameter rgFilterSpec adalah NULL.

Keterangan

Saat menggunakan dialog Buka , jenis file yang dinyatakan ada yang digunakan untuk memfilter tampilan. Saat menggunakan dialog Simpan , nilai-nilai ini menentukan ekstensi nama file mana yang ditambahkan ke nama file.

Metode ini harus dipanggil sebelum dialog ditampilkan dan hanya dapat dipanggil sekali untuk setiap instans dialog. Tipe file tidak dapat diubah setelah kotak dialog Item Umum ditampilkan.

Contoh

Contoh kode berikut menunjukkan penggunaan array struktur COMDLG_FILTERSPEC dalam konteks metode ini. Contoh array terdiri dari tiga struktur COMDLG_FILTERSPEC . Yang pertama mendeklarasikan dua pola untuk filter dialog, yang kedua mendeklarasikan satu pola, dan yang terakhir menunjukkan file dari semua jenis. Variabel szJPG, szBMP, dan szAll diasumsikan sebagai string yang dideklarasikan sebelumnya yang memberikan nama yang ramah untuk setiap filter.

COMDLG_FILTERSPEC rgSpec[] =
{ 
    { szJPG, L"*.jpg;*.jpeg" },
    { szBMP, L"*.bmp" },
    { szAll, L"*.*" },
};

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)