CWnd::DlgDirListComboBox

Füllt das Listenfeld eines Kombinationsfelds mit einer Datei oder einer Verzeichnisliste aus.

int DlgDirListComboBox(
   LPTSTR lpPathSpec,
   int nIDComboBox,
   int nIDStaticPath,
   UINT nFileType 
);

Parameter

  • lpPathSpec
    Zeigt auf eine auf NULL endende Zeichenfolge, die den Pfad bzw. Dateinamen enthält.DlgDirListComboBox ändert diese Zeichenfolge, sollten diese Daten nicht in Form eines Zeichenfolgenliterals sein.Weitere Informationen finden Sie im folgenden Abschnitt "Hinweis".

  • nIDComboBox
    Gibt den Bezeichner eines Kombinationsfelds in einem Dialogfeld angezeigt.Wenn nIDComboBox 0 ist, wird DlgDirListComboBox an, dass kein Kombinationsfeld vorhanden und nicht versucht, ein auszufüllen.

  • nIDStaticPath
    Gibt den Bezeichner des Steuerelements von statischem Text an, das verwendet wird, um das aktuelle Laufwerk und das Verzeichnis anzuzeigen.Wenn nIDStaticPath 0 ist, wird DlgDirListComboBox an, dass kein solches Textsteuerelement vorhanden ist.

  • nFileType
    Gibt DOS-Dateiattribute der angezeigt werden, Dateien an.Sie kann eine beliebige Kombination der folgenden Werte sein:

    • DDL_READWRITE Lese-Schreibdatendateien ohne zusätzliche Attribute.

    • Schreibgeschützte Dateien DDL_READONLY.

    • DDL_HIDDEN versteckte Dateien.

    • DDL_SYSTEM Systemdateien.

    • DDL_DIRECTORY Verzeichnisse.

    • DDL_ARCHIVE gespeichert.

    • DDL_POSTMSGS   CB_DIR-Flag.Wenn das CB_DIR-Flag festgelegt ist, wird Windows die Meldungen, die von DlgDirListComboBox in der Warteschlange der Anwendung generiert werden, Andernfalls werden sie direkt zur Dialogfeldprozedur gesendet.

    • DDL_DRIVES Laufwerk.Wenn das DDL_DRIVES-Flag festgelegt ist, wird das Flag DDL_EXCLUSIVE automatisch festgelegt.Daher um eine Verzeichnisliste zu erstellen, die Laufwerk und Dateien enthält, müssen Sie DlgDirListComboBox zweimal aufrufen: einmal mit dem DDL_DRIVES-Flagssatz und einmal mit den Flags für den Rest der Liste.

    • DDL_EXCLUSIVE Exklusivbit.Wenn das exklusive Bit festgelegt ist, nur Dateien des angegebenen Typs aufgeführten; andernfalls normale Dateien und Dateien des angegebenen Typs werden aufgeführt.

Rückgabewert

Gibt das Ergebnis der Funktion an.Er ist, wenn Listen vorgenommen wurden, sogar leeren Listen ungleich 0 (null).Ein Rückgabewert 0 bedeutet, dass die Eingabezeichenfolge keinen gültigen Suchpfad enthielt.

Hinweise

DlgDirListComboBox sendet CB_RESETCONTENT und CB_DIR Meldungen Kombinationsfeldes.Es füllt das Listenfeld des Kombinationsfelds aus, das von nIDComboBox mit den Namen aller Dateien angegeben wird, die den Pfad entsprechen, der von lpPathSpec angegeben ist.

Der lpPathSpec-Parameter hat das folgende Format:

[drive:] [ [\u]directory[\idirectory]... \u] [filename]

In diesem Beispiel ist ein drive Laufwerkbuchstabe, ist directory ein gültiger Verzeichnisname, und Dateiname ist ein gültiger Dateiname, der einen Platzhalter mindestens enthalten muss.Die Platzhalter sind ein Fragezeichen (?), das Übereinstimmung jedes Zeichen bedeutet, und ein Sternchen (*), das Übereinstimmung eine beliebige Anzahl von Zeichen bedeutet.

Wenn Sie eine Zeichenfolge der Länge 0 (null) für lpPathSpec angeben, wird das aktuelle Verzeichnis verwendet und lpPathSpec wird nicht geändert.Wenn Sie nur einen Verzeichnisnamen angeben, aber keine Dateibeschreibung einfügen, wird die Zeichenfolge "*" geändert.

Wenn lpPathSpec einen Unterverzeichnissen und/oder Verzeichnisnamen enthält, werden das aktuelle Laufwerk und das Verzeichnis an den festgelegten Laufwerk und zum Verzeichnis geändert, bevor das Listenfeld gefüllt ist.Das Text-Steuerelement, das von nIDStaticPath identifiziert wird, wird ebenfalls mit dem neuen Unterverzeichnissen und/oder Verzeichnisnamen aktualisiert.

Nachdem das Kombinationsfeldlistenfeld gefüllt ist, wird lpPathSpec aktualisiert, indem Sie den Unterverzeichnissen und/oder Verzeichnisteil des Pfads entfernt.

Beispiel

// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive. 

TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | 
   DDL_DIRECTORY);

// Note that the first argument is a string and not a string 
// literal. This is necessary because DlgDirListComboBox 
// modifies the supplied string. Passing a string literal 
// will result in an access violation.   

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWnd-Klasse

Hierarchien-Diagramm

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox