Partager via


DlgDirSelectExA, fonction (winuser.h)

Récupère la sélection actuelle à partir d’une zone de liste à sélection unique. Il suppose que la zone de liste a été remplie par la fonction DlgDirList et que la sélection est une lettre de lecteur, un nom de fichier ou un nom de répertoire.

Syntaxe

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

Paramètres

[in] hwndDlg

Type : HWND

Handle de la boîte de dialogue qui contient la zone de liste.

[out] lpString

Type : LPTSTR

Pointeur vers une mémoire tampon qui reçoit le chemin sélectionné.

[in] chCount

Type : int

Longueur, en TCHAR, de la mémoire tampon pointée vers lpString.

[in] idListBox

Type : int

Identificateur d’une zone de liste dans la boîte de dialogue.

Valeur retournée

Type : BOOL

Si la sélection actuelle est un nom de répertoire, la valeur de retour est différente de zéro.

Si la sélection actuelle n’est pas un nom de répertoire, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction DlgDirSelectEx copie la sélection dans la mémoire tampon pointée par le paramètre lpString . Si la sélection actuelle est un nom de répertoire ou une lettre de lecteur, DlgDirSelectEx supprime les crochets (et les traits d’union, pour les lettres de lecteur), afin que le nom ou la lettre soit prêt à être inséré dans un nouveau chemin. En l’absence de sélection, lpString ne change pas.

Si la chaîne est aussi longue ou plus longue que la mémoire tampon, la mémoire tampon contient la chaîne tronquée avec un caractère null de fin.

DlgDirSelectEx envoie des messages LB_GETCURSEL et LB_GETTEXT à la zone de liste. La fonction n’autorise pas le retour de plusieurs noms de fichier à partir d’une zone de liste. La zone de liste ne doit pas être une zone de liste à sélection multiple. Si c’est le cas, cette fonction ne retourne pas de valeur zéro et lpString reste inchangé.

Windows 95 ou version ultérieure : DlgDirSelectExW est pris en charge par la couche Microsoft pour Unicode. Pour cela, vous devez ajouter certains fichiers à votre application, comme indiqué dans Microsoft Layer pour Unicode sur les systèmes Windows Me/98/95.

Exemples

Pour obtenir un exemple, consultez Création d’une liste de répertoires dans une zone de liste à sélection unique.

Notes

L’en-tête winuser.h définit DlgDirSelectEx comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll

Voir aussi

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

Référence