Partager via


DlgDirSelectComboBoxExA, fonction (winuser.h)

Récupère la sélection actuelle à partir d’une zone de liste modifiable remplie à l’aide de la fonction DlgDirListComboBox . La sélection est interprétée comme une lettre de lecteur, un fichier ou un nom de répertoire.

Syntaxe

BOOL DlgDirSelectComboBoxExA(
  [in]  HWND  hwndDlg,
  [out] LPSTR lpString,
  [in]  int   cchOut,
  [in]  int   idComboBox
);

Paramètres

[in] hwndDlg

Type : HWND

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

[out] lpString

Type : LPTSTR

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

[in] cchOut

Type : int

Longueur, en caractères, de la mémoire tampon vers laquelle pointe le paramètre lpString .

[in] idComboBox

Type : int

Identificateur entier du contrôle de zone de liste déroulante 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

Si la sélection actuelle spécifie un nom de répertoire ou une lettre de lecteur, la fonction DlgDirSelectComboBoxEx 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 ou nom de fichier. En l’absence de sélection, le contenu de la mémoire tampon pointée par lpString ne change pas.

La fonction DlgDirSelectComboBoxEx n’autorise pas le retour de plusieurs noms de fichier à partir d’une zone de liste déroulante.

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.

DlgDirSelectComboBoxEx envoie des messages CB_GETCURSEL et CB_GETLBTEXT à la zone de liste déroulante.

Vous pouvez utiliser cette fonction avec les trois types de zones de liste déroulante (CBS_SIMPLE, CBS_DROPDOWN et CBS_DROPDOWNLIST).

Avertissement de sécurité : Une utilisation incorrecte de cette fonction peut entraîner des problèmes pour votre application. Pour instance, le paramètre nCount doit être défini correctement pour les versions ANSI et Unicode. Si vous ne le faites pas, vous risquez d’entraîner un dépassement de capacité de la mémoire tampon. Vous devez consulter Considérations relatives à la sécurité : Contrôles Microsoft Windows avant de continuer.

Windows 95 ou version ultérieure : DlgDirSelectComboBoxExW est pris en charge par Microsoft Layer pour Unicode (MSLU). Pour l’utiliser, vous devez ajouter certains fichiers à votre application, comme indiqué dans Microsoft Layer pour Unicode sur les systèmes Windows Me/98/95.

Notes

L’en-tête winuser.h définit DlgDirSelectComboBoxEx en tant qu’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. La combinaison 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

CB_GETCURSEL

CB_GETLBTEXT

DlgDirListComboBox

Référence