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 NULL-endende 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 als 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 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 nicht, ein Kombinationsfeld zu fü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 verzeichnis anzuzeigen. Dieser Parameter kann 0 (null) sein, wenn Sie das aktuelle Laufwerk und das aktuelle Verzeichnis nicht anzeigen möchten.
[in] uFiletype
Typ: UINT
Ein Satz von Bitflags, der die Attribute der Dateien oder Verzeichnisse angibt, die dem Kombinationsfeld hinzugefügt werden sollen. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.
Wert | Bedeutung |
---|---|
|
Enthält archivierte Dateien. |
|
Enthält Unterverzeichnisse, die in eckige Klammern ([ ]) eingeschlossen sind. |
|
Alle zugeordneten Laufwerke werden der Liste hinzugefügt. Laufwerke werden im Format [-x-] aufgeführt, wobei x der Laufwerkbuchstabe ist. |
|
Schließt nur Dateien mit den angegebenen Attributen ein. Standardmäßig werden Lese-/Schreibdateien auch dann aufgeführt, wenn DDL_READWRITE nicht angegeben ist. |
|
Enthält ausgeblendete Dateien. |
|
Enthält schreibgeschützte Dateien. |
|
Enthält Lese-/Schreibdateien ohne zusätzliche Attribute. Dies ist die Standardeinstellung. |
|
Enthält Systemdateien. |
|
Wenn dieses Flag 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 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 zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn lpPathSpec ein Verzeichnis angibt, ändert DlgDirListComboBox das aktuelle Verzeichnis in das angegebene Verzeichnis, bevor das Kombinationsfeld gefüllt wird. Der Text des statischen Steuerelements, das durch den 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 flag DDL_DIRECTORY enthält und lpPathSpec ein Verzeichnis der ersten Ebene angibt, z. B. C:\TEMP, enthält das Kombinationsfeld immer den Eintrag ".." für das Stammverzeichnis. Dies gilt auch dann, wenn das Stammverzeichnis über ausgeblendete oder Systemattribute verfügt und die flags DDL_HIDDEN und DDL_SYSTEM nicht angegeben sind. Das Stammverzeichnis eines NTFS-Volumes verfügt über ausgeblendete Und Systemattribute.
Sicherheitswarnung: Wenn Sie diese Funktion falsch verwenden, kann die Sicherheit Ihres Programms beeinträchtigt werden. Die falsche Verwendung dieser Funktion umfasst, dass lpPathSpec einen nicht beschreibbaren Puffer oder einen Puffer ohne NULL-Terminierung angibt. Lesen Sie die Sicherheitsüberlegungen: Microsoft Windows-Steuerelemente , bevor Sie fortfahren.
Microsoft Windows NT 4.0 und höher: Die Liste zeigt lange Dateinamen an, falls vorhanden.
Windows 95 oder höher: In der Liste werden kurze Dateinamen (formular 8.3) 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 for Unicode unterstützt. Um dies zu verwenden, müssen Sie Ihrer Anwendung bestimmte Dateien hinzufügen, wie in Microsoft Layer for Unicode auf Windows Me/98/95-Systemen beschrieben.
Hinweis
Der winuser.h-Header definiert DlgDirListComboBox 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 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
Weitere Informationen
Referenz