DlgDirListComboBoxA, fonction (winuser.h)

Remplace le contenu d’une zone de liste modifiable par les noms des sous-répertoires et des fichiers dans un répertoire spécifié. Vous pouvez filtrer la liste des noms en spécifiant un ensemble d’attributs de fichier. La liste des noms peut inclure des lettres de lecteur mappées.

Syntaxe

int DlgDirListComboBoxA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDComboBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFiletype
);

Paramètres

[in] hDlg

Type : HWND

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

[in, out] lpPathSpec

Type : LPTSTR

Pointeur vers une mémoire tampon contenant une chaîne terminée par null qui spécifie un chemin d’accès absolu, un chemin relatif ou un nom de fichier. Un chemin absolu peut commencer par une lettre de lecteur (par exemple, d :) ou un nom UNC (par exemple, \\nom d’ordinateur\nom de partage).

La fonction fractionne la chaîne en un répertoire et un nom de fichier. La fonction recherche dans le répertoire les noms qui correspondent au nom du fichier. Si la chaîne ne spécifie pas de répertoire, la fonction recherche le répertoire actif.

Si la chaîne inclut un nom de fichier, le nom de fichier doit contenir au moins un caractère générique ( ? ou ). Si la chaîne n’inclut pas de nom de fichier, la fonction se comporte comme si vous aviez spécifié le caractère générique astérisque () comme nom de fichier. Tous les noms du répertoire spécifié qui correspondent au nom de fichier et dont les attributs sont spécifiés par le paramètre uFiletype sont ajoutés à la liste affichée dans la zone de liste déroulante.

[in] nIDComboBox

Type : int

Identificateur d’une zone de liste modifiable dans la boîte de dialogue hDlg. Si ce paramètre est égal à zéro, DlgDirListComboBox n’essaie pas de remplir une zone de liste modifiable.

[in] nIDStaticPath

Type : int

Identificateur d’un contrôle statique dans la boîte de dialogue hDlg. DlgDirListComboBox définit le texte de ce contrôle pour afficher le lecteur et le répertoire actuels. Ce paramètre peut être égal à zéro si vous ne souhaitez pas afficher le lecteur et le répertoire actuels.

[in] uFiletype

Type : UINT

Ensemble d’indicateurs de bits qui spécifie les attributs des fichiers ou répertoires à ajouter à la zone de liste déroulante. Ce paramètre peut être une combinaison des valeurs suivantes.

Valeur Signification
DDL_ARCHIVE
Inclut des fichiers archivés.
DDL_DIRECTORY
Inclut des sous-répertoires, placés entre crochets ([ ]).
DDL_DRIVES
Tous les lecteurs mappés sont ajoutés à la liste. Les lecteurs sont répertoriés sous la forme [-x-], où x est la lettre de lecteur.
DDL_EXCLUSIVE
Inclut uniquement les fichiers avec les attributs spécifiés. Par défaut, les fichiers en lecture/écriture sont répertoriés même si DDL_READWRITE n’est pas spécifié.
DDL_HIDDEN
Inclut des fichiers masqués.
DDL_READONLY
Inclut des fichiers en lecture seule.
DDL_READWRITE
Inclut des fichiers en lecture/écriture sans attributs supplémentaires. Il s’agit du paramètre par défaut.
DDL_SYSTEM
Inclut les fichiers système.
DDL_POSTMSGS
Si cet indicateur est défini, DlgDirListComboBox utilise la fonction PostMessage pour envoyer des messages à la zone de liste déroulante. Si cet indicateur n’est pas défini, DlgDirListComboBox utilise la fonction SendMessage.

Valeur de retour

Type : int

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Par exemple, si la chaîne spécifiée par lpPathSpec n’est pas un chemin valide, la fonction échoue. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

Si lpPathSpec spécifie un répertoire, DlgDirListComboBox remplace le répertoire actif par le répertoire spécifié avant de remplir la zone de liste déroulante. Le texte du contrôle statique identifié par le paramètre nIDStaticPath est défini sur le nom du nouveau répertoire actif.

DlgDirListComboBox envoie les messages CB_RESETCONTENT et CB_DIR à la zone de liste déroulante.

Microsoft Windows NT 4.0 et versions ultérieures : si uFiletype inclut l’indicateur DDL_DIRECTORY et lpPathSpec spécifie un répertoire de premier niveau, tel que C :\TEMP, la zone de liste modifiable inclut toujours une entrée « ». pour le répertoire racine. Cela est vrai même si le répertoire racine a des attributs masqués ou système et que les indicateurs DDL_HIDDEN et DDL_SYSTEM ne sont pas spécifiés. Le répertoire racine d’un volume NTFS a des attributs système et masqués.

Avertissement de sécurité : L’utilisation incorrecte de cette fonction peut compromettre la sécurité de votre programme. L’utilisation incorrecte de cette fonction inclut l’utilisation lpPathSpec indiquer une mémoire tampon non accessible en écriture ou une mémoire tampon sans terminaison null. Vous devez passer en revue les considérations de sécurité : Contrôles Microsoft Windows avant de continuer.

Microsoft Windows NT 4.0 et versions ultérieures : la liste affiche les noms de fichiers longs, le cas échéant.

Windows 95 ou version ultérieure : la liste affiche des noms de fichiers courts (formulaire 8.3). Vous pouvez utiliser les fonctions SHGetFileInfo ou GetFullPathName pour obtenir le nom de fichier long correspondant.

Windows 95 ou version ultérieure : DlgDirListComboBoxW 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.

Note

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

DlgDirSelectComboBoxEx

de référence