Partager via


DlgDirSelectExA, fonction (winuser.h)

Récupère la sélection actuelle à partir d’une zone de liste de sélection unique. Il part du principe 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 d’accès sélectionné.

[in] chCount

Type : int

Longueur, en TCHARs, de la mémoire tampon pointée par lpString.

[in] idListBox

Type : int

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

Valeur de retour

Type : BOOL

Si la sélection actuelle est un nom de répertoire, la valeur de retour n’est pas nulle.

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

Remarques

La fonction DlgDirSelectEx copie la sélection vers 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 englobants (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 d’accès. S’il n’existe aucune 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ée.

windows 95 ou version ultérieure: DlgDirSelectExW est pris en charge par la couche Microsoft pour Unicode. Pour l’utiliser, vous devez ajouter certains fichiers à votre application, comme indiqué dans Microsoft Layer pour Unicode sur Windows Me/98/95 Systems.

Exemples

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

Note

L’en-tête winuser.h définit DlgDirSelectEx comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include Windows.h)
bibliothèque User32.lib
DLL User32.dll

Voir aussi

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

de référence