Freigeben über


DlgDirListComboBoxA-Funktion (winuser.h)

Ersetzt den Inhalt eines Kombinationsfelds 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 der Namen kann zugeordnete Laufwerkbuchstaben enthalten.

Syntax

int DlgDirListComboBoxA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDComboBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFiletype
);

Parameter

[in] hDlg

Typ: HWND-

Ein Handle für das Dialogfeld, das das Kombinationsfeld 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) 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 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 mit dem Dateinamen übereinstimmen und über die attribute verfügen, die durch den uFiletype Parameter angegeben werden, werden der im Kombinationsfeld angezeigten Liste hinzugefügt.

[in] nIDComboBox

Typ: int

Der Bezeichner eines Kombinationsfelds im dialogfeld hDlg. Wenn dieser Parameter null ist, versucht DlgDirListComboBox- kein Kombinationsfeld auszufüllen.

[in] nIDStaticPath

Typ: int

Der Bezeichner eines statischen Steuerelements im dialogfeld hDlg. DlgDirListComboBox 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-

Eine Gruppe von Bitkennzeichnungen, die die Attribute der Dateien oder Verzeichnisse angibt, die dem Kombinationsfeld hinzugefügt werden sollen. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.

Wert Bedeutung
DDL_ARCHIVE
Enthält archivierte Dateien.
DDL_DIRECTORY
Enthält Unterverzeichnisse, die in eckige Klammern ([ ]) eingeschlossen sind.
DDL_DRIVES
Alle zugeordneten Laufwerke werden der Liste hinzugefügt. Laufwerke werden in form [-x-], wobei x der Laufwerkbuchstaben ist.
DDL_EXCLUSIVE
Enthält nur Dateien mit den angegebenen Attributen. Standardmäßig werden Lese-/Schreibdateien aufgelistet, 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-/Schreibzugriffsdateien ohne zusätzliche Attribute. Dies ist die Standardeinstellung.
DDL_SYSTEM
Enthält Systemdateien.
DDL_POSTMSGS
Wenn dieses Kennzeichen festgelegt ist, verwendet DlgDirListComboBox- die PostMessage--Funktion, um Nachrichten an das Kombinationsfeld zu senden. Wenn dieses Flag nicht festgelegt ist, verwendet DlgDirListComboBox die SendMessage--Funktion.

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 GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Wenn lpPathSpec- ein Verzeichnis angibt, ändert DlgDirListComboBox das aktuelle Verzeichnis in das angegebene Verzeichnis, bevor das Kombinationsfeld ausgefüllt wird. Der Text des statischen Steuerelements, das vom nIDStaticPath Parameter identifiziert wird, wird auf den Namen des neuen aktuellen Verzeichnisses festgelegt.

DlgDirListComboBox sendet die CB_RESETCONTENT und CB_DIR Nachrichten an das Kombinationsfeld.

Microsoft Windows NT 4.0 und höher: Wenn uFiletype- das DDL_DIRECTORY Flag enthält und lpPathSpec- ein Verzeichnis der ersten Ebene angibt, z. B. C:\TEMP, enthält das Kombinationsfeld 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.

Sicherheitswarnung: Die Verwendung dieser Funktion kann die Sicherheit Ihres Programms beeinträchtigen. Die falsche Verwendung dieser Funktion umfasst das Vorhandensein von lpPathSpec- auf einen nicht beschreibbaren Puffer oder einen Puffer ohne NULL-Beendigung hinweisen. Sie sollten die Sicherheitsüberlegungen überprüfen: Microsoft Windows Controls, bevor Sie fortfahren.

Microsoft Windows NT 4.0 und höher: In der Liste werden ggf. lange Dateinamen angezeigt.

Windows 95 oder höher: In der Liste werden kurze Dateinamen (das 8.3-Formular) angezeigt. Sie können die funktionen SHGetFileInfo oder GetFullPathName verwenden, um den entsprechenden langen Dateinamen abzurufen.

Windows 95 oder höher: DlgDirListComboBoxW- wird von Microsoft Layer für Unicode unterstützt. Um dies zu verwenden, müssen Sie Ihrer Anwendung bestimmte Dateien hinzufügen, wie in Microsoft Layer for Unicode unter Windows Me/98/95 Systemsbeschrieben.

Anmerkung

Der winuser.h-Header definiert DlgDirListComboBox 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

DlgDirList-

DlgDirSelectComboBoxEx

Referenz-