IFileDialog::SetFileTypes-Methode (shobjidl_core.h)

Legt die Dateitypen fest, die das Dialogfeld öffnen oder speichern kann.

Syntax

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

Parameter

[in] cFileTypes

Typ: UINT

Die Anzahl der Elemente in dem von rgFilterSpec angegebenen Array.

[in] rgFilterSpec

Typ: const COMDLG_FILTERSPEC*

Ein Zeiger auf ein Array von COMDLG_FILTERSPEC Strukturen, die jeweils einen Dateityp darstellen.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben, der Folgendes enthält:

Rückgabecode Beschreibung
E_UNEXPECTED

SetFileTypes wurde bereits aufgerufen.

E_UNEXPECTED
Das FOS_PICKFOLDERS-Flag wurde in der IFileDialog::SetOptions-Methode festgelegt.
E_INVALIDARG
Der rgFilterSpec-Parameter ist NULL.

Hinweise

Wenn Sie das Dialogfeld Öffnen verwenden, werden die dort deklarierten Dateitypen verwendet, um die Ansicht zu filtern. Wenn Sie das Dialogfeld Speichern verwenden, bestimmen diese Werte, welche Dateinamenerweiterung an den Dateinamen angefügt wird.

Diese Methode muss aufgerufen werden, bevor der Dialog angezeigt wird. Sie kann nur einmal für jeden Dialog instance aufgerufen werden. Dateitypen können nicht geändert werden, sobald das Dialogfeld Allgemeines Element angezeigt wird.

Beispiele

Im folgenden Codebeispiel wird die Verwendung des Arrays von COMDLG_FILTERSPEC Strukturen im Kontext dieser Methode veranschaulicht. Das Beispielarray besteht aus drei COMDLG_FILTERSPEC Strukturen. Das erste deklariert zwei Muster für den Dialogfilter, das zweite ein einzelnes Muster, und das letzte zeigt Dateien aller Typen an. Es wird davon ausgegangen, dass die Variablen szJPG, szBMP und szAll zuvor deklarierte Zeichenfolgen sind, die einen Anzeigenamen für jeden Filter bereitstellen.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (einschließlich Shobjidl.h)