Freigeben über


DlgDirSelectExA-Funktion (winuser.h)

Ruft die aktuelle Auswahl aus einem Listenfeld für die Einzelauswahl ab. Es wird davon ausgegangen, dass das Listenfeld von der DlgDirList-Funktion ausgefüllt wurde und dass die Auswahl ein Laufwerkbuchstabe, Dateiname oder Verzeichnisname ist.

Syntax

BOOL DlgDirSelectExA(
  [in]  HWND  hwndDlg,
  [out] LPSTR lpString,
  [in]  int   chCount,
  [in]  int   idListBox
);

Parameter

[in] hwndDlg

Typ: HWND

Ein Handle für das Dialogfeld, das das Listenfeld enthält.

[out] lpString

Typ: LPTSTR

Ein Zeiger auf einen Puffer, der den ausgewählten Pfad empfängt.

[in] chCount

Typ: int

Die Länge des Puffers, auf den lpString in TCHARs verweist.

[in] idListBox

Typ: int

Der Bezeichner eines Listenfelds im Dialogfeld.

Rückgabewert

Typ: BOOL

Wenn die aktuelle Auswahl ein Verzeichnisname ist, ist der Rückgabewert ungleich null.

Wenn die aktuelle Auswahl kein Verzeichnisname ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die DlgDirSelectEx-Funktion kopiert die Auswahl in den Puffer, auf den der lpString-Parameter verweist. Wenn die aktuelle Auswahl ein Verzeichnisname oder Laufwerkbuchstabe ist, entfernt DlgDirSelectEx die umschließenden eckigen Klammern (und Bindestriche für Laufwerkbuchstaben), sodass der Name oder Der Buchstabe bereit ist, in einen neuen Pfad eingefügt zu werden. Wenn keine Auswahl vorhanden ist, ändert sich lpString nicht.

Wenn die Zeichenfolge so lang oder länger als der Puffer ist, enthält der Puffer die abgeschnittene Zeichenfolge mit einem abschließenden NULL-Zeichen.

DlgDirSelectEx sendet LB_GETCURSEL und LB_GETTEXT Nachrichten an das Listenfeld. Die Funktion lässt nicht zu, dass mehr als ein Dateiname aus einem Listenfeld zurückgegeben wird. Das Listenfeld darf kein Listenfeld mit mehrfacher Auswahl sein. Wenn dies der Fall ist, gibt diese Funktion keinen Nullwert zurück, und lpString bleibt unverändert.

Windows 95 oder höher: DlgDirSelectExW 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.

Beispiele

Ein Beispiel finden Sie unter Erstellen einer Verzeichnisauflistung in einem Listenfeld für die Einzelauswahl.

Hinweis

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

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

Referenz