DlgDirListW-Funktion (winuser.h)
Ersetzt den Inhalt eines Listenfelds durch die Namen der Unterverzeichnisse und Dateien in einem angegebenen Verzeichnis. Sie können die Liste der Namen filtern, indem Sie eine Reihe von Dateiattributen angeben. Die Liste kann optional zugeordnete Laufwerke enthalten.
Syntax
int DlgDirListW(
[in] HWND hDlg,
[in, out] LPWSTR lpPathSpec,
[in] int nIDListBox,
[in] int nIDStaticPath,
[in] UINT uFileType
);
Parameter
[in] hDlg
Typ: HWND-
Ein Handle für das Dialogfeld, das das Listenfeld enthält.
[in, out] lpPathSpec
Typ: LPTSTR-
Ein Zeiger auf einen Puffer, der eine mit Null beendete Zeichenfolge enthält, die einen absoluten Pfad, relativen Pfad oder Dateinamen angibt. Ein absoluter Pfad kann mit einem Laufwerkbuchstaben (z. B. d:) oder einem UNC-Namen (z. B. \Computername
sharename).
Die Funktion teilt die Zeichenfolge in ein Verzeichnis und einen Dateinamen auf. Die Funktion durchsucht das Verzeichnis nach Namen, die dem Dateinamen entsprechen. Wenn die Zeichenfolge kein Verzeichnis angibt, durchsucht die Funktion das aktuelle Verzeichnis.
Wenn die Zeichenfolge einen Dateinamen enthält, muss der Dateiname mindestens ein Wildcardzeichen (? oder ) enthalten. Wenn die Zeichenfolge keinen Dateinamen enthält, verhält sich die Funktion so, als hätten Sie das Sternchen-Wildcardzeichen () als Dateinamen angegeben. Alle Namen im angegebenen Verzeichnis, die dem Dateinamen entsprechen und die durch den uFileType Parameter angegebenen Attribute aufweisen, werden dem Listenfeld hinzugefügt.
[in] nIDListBox
Typ: int
Der Bezeichner eines Listenfelds im dialogfeld hDlg. Wenn dieser Parameter null ist, versucht DlgDirList- nicht, ein Listenfeld auszufüllen.
[in] nIDStaticPath
Typ: int
Der Bezeichner eines statischen Steuerelements im dialogfeld hDlg. DlgDirList- legt den Text dieses Steuerelements fest, um das aktuelle Laufwerk und das aktuelle Verzeichnis anzuzeigen. Dieser Parameter kann null sein, wenn Sie das aktuelle Laufwerk und das aktuelle Verzeichnis nicht anzeigen möchten.
[in] uFileType
Typ: UINT-
Gibt die Attribute der Dateien oder Verzeichnisse an, die dem Listenfeld hinzugefügt werden sollen. Dieser Parameter kann einen oder mehrere der folgenden Werte sein.
Wert | Bedeutung |
---|---|
|
Enthält archivierte Dateien. |
|
Enthält Unterverzeichnisse. Namen des Unterverzeichnisses werden in eckige Klammern ([ ]) eingeschlossen. |
|
Alle zugeordneten Laufwerke werden der Liste hinzugefügt. Laufwerke werden in der Form [- x-] aufgelistet, wobei x- der Laufwerkbuchstaben ist. |
|
Enthält nur Dateien mit den angegebenen Attributen. Standardmäßig werden Lese-/Schreibdateien aufgelistet, auch wenn DDL_READWRITE nicht angegeben ist. |
|
Enthält ausgeblendete Dateien. |
|
Enthält schreibgeschützte Dateien. |
|
Enthält Lese-/Schreibzugriffsdateien ohne zusätzliche Attribute. Dies ist die Standardeinstellung. |
|
Enthält Systemdateien. |
|
Wenn festgelegt, verwendet DlgDirList- die funktion PostMessage zum Senden von Nachrichten an das Listenfeld. Wenn nicht festgelegt, verwendet DlgDirList die funktion SendMessage. |
Rückgabewert
Typ: int
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Wenn beispielsweise die durch lpPathSpec angegebene Zeichenfolge kein gültiger Pfad ist, schlägt die Funktion fehl. Rufen Sie auf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Wenn lpPathSpec- ein Verzeichnis angibt, ändert DlgDirListComboBox das aktuelle Verzeichnis in das angegebene Verzeichnis, bevor das Listenfeld ausgefüllt wird. Der Text des statischen Steuerelements, das vom nIDStaticPath Parameter identifiziert wird, wird auf den Namen des neuen aktuellen Verzeichnisses festgelegt.
DlgDirList sendet die LB_RESETCONTENT und LB_DIR Nachrichten an das Listenfeld.
Wenn uFileType- das DDL_DIRECTORY Flag enthält und lpPathSpec- ein Verzeichnis der ersten Ebene angibt, z. B. C:\TEMP, enthält das Listenfeld immer einen Eintrag "." für das Stammverzeichnis. Dies gilt auch dann, wenn das Stammverzeichnis ausgeblendete Oder Systemattribute aufweist und die DDL_HIDDEN und DDL_SYSTEM Flags nicht angegeben sind. Das Stammverzeichnis eines NTFS-Volumes weist ausgeblendete Systemattribute auf.
In der Verzeichnisauflistung werden ggf. lange Dateinamen angezeigt.
Beispiele
Beispiele finden Sie in den folgenden Themen: Erstellen einer Verzeichnisauflistung in einem Listenfeld für einmalige Auswahl und Erstellen eines Listenfelds mit Mehrfachauswahl.
Anmerkung
Der winuser.h-Header definiert DlgDirList als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winuser.h (enthalten Windows.h) |
Library | User32.lib |
DLL- | User32.dll |
Siehe auch
Referenz-