Share via


DlgDirListA-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 DlgDirListA(
  [in]      HWND  hDlg,
  [in, out] LPSTR 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 NULL-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. \<i>computername\sharename) beginnen.

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 Platzhalterzeichen (? oder *) enthalten. Wenn die Zeichenfolge keinen Dateinamen enthält, verhält sich die Funktion so, als hätten Sie das Sternchen-Platzhalterzeichen (*) als Dateinamen angegeben. Alle Namen im angegebenen Verzeichnis, die mit dem Dateinamen übereinstimmen und über die vom uFileType-Parameter angegebenen Attribute verfügen, werden dem Listenfeld hinzugefügt.

[in] nIDListBox

Typ: int

Der Bezeichner eines Listenfelds im Dialogfeld hDlg . Wenn dieser Parameter 0 ist, versucht DlgDirList nicht, ein Listenfeld zu fü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 verzeichnis anzuzeigen. Dieser Parameter kann null sein, wenn Sie das aktuelle Laufwerk und 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 aufweisen.

Wert Bedeutung
DDL_ARCHIVE
Enthält archivierte Dateien.
DDL_DIRECTORY
Enthält Unterverzeichnisse. Unterverzeichnisnamen sind in eckige Klammern ([ ]) eingeschlossen.
DDL_DRIVES
Alle zugeordneten Laufwerke werden der Liste hinzugefügt. Laufwerke werden in der Form [- x-] aufgeführt, wobei x der Laufwerkbuchstabe ist.
DDL_EXCLUSIVE
Enthält nur Dateien mit den angegebenen Attributen. Standardmäßig werden Lese-/Schreibdateien aufgeführt, auch wenn DDL_READWRITE nicht angegeben ist.
DDL_HIDDEN
Enthält ausgeblendete Dateien.
DDL_READONLY
Enthält schreibgeschützte Dateien.
DDL_READWRITE
Enthält Lese-/Schreibdateien ohne zusätzliche Attribute. Dies ist die Standardeinstellung.
DDL_SYSTEM
Enthält Systemdateien.
DDL_POSTMSGS
Falls festgelegt, verwendet DlgDirList die PostMessage-Funktion , um Nachrichten an das Listenfeld zu senden. Falls nicht festgelegt, verwendet DlgDirList die SendMessage-Funktion .

Rückgabewert

Typ: int

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Wenn die von lpPathSpec angegebene Zeichenfolge beispielsweise kein gültiger Pfad ist, schlägt die Funktion fehl. Um erweiterte Fehlerinformationen abzurufen, rufen Sie auf.

Hinweise

Wenn lpPathSpec ein Verzeichnis angibt, ändert DlgDirListComboBox das aktuelle Verzeichnis in das angegebene Verzeichnis, bevor das Listenfeld gefüllt wird. Der Text des statischen Steuerelements, das durch den Parameter nIDStaticPath 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 flag DDL_DIRECTORY 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 flags DDL_HIDDEN und DDL_SYSTEM nicht angegeben werden. Das Stammverzeichnis eines NTFS-Volumes weist ausgeblendete Und Systemattribute auf.

In der Verzeichnisliste werden ggf. lange Dateinamen angezeigt.

Beispiele

Beispiele finden Sie in den folgenden Themen: Erstellen eines Verzeichniseintrags in einem Listenfeld mit einzeler Auswahl und Erstellen eines Listenfelds mit mehrfacher Auswahl.

Hinweis

Der winuser.h-Header definiert DlgDirList als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winuser.h (einschließlich Windows.h)
Bibliothek User32.lib
DLL User32.dll

Weitere Informationen

DlgDirListComboBox

DlgDirSelectComboBoxEx

DlgDirSelectEx

Referenz