Partager via


DlgDirListW, fonction (winuser.h)

Remplace le contenu d’une zone de liste par les noms des sous-répertoires et 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 peut éventuellement inclure des lecteurs mappés.

Syntaxe

int DlgDirListW(
  [in]      HWND   hDlg,
  [in, out] LPWSTR lpPathSpec,
  [in]      int    nIDListBox,
  [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.

[in, out] lpPathSpec

Type : LPTSTR

Pointeur vers une mémoire tampon contenant une chaîne terminée par null qui spécifie un chemin 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_machine
sharename).

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 de 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 qui ont les attributs spécifiés par le paramètre uFileType sont ajoutés à la zone de liste.

[in] nIDListBox

Type : int

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

[in] nIDStaticPath

Type : int

Identificateur d’un contrôle statique dans la boîte de dialogue hDlg . DlgDirList 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

Spécifie les attributs des fichiers ou répertoires à ajouter à la zone de liste. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.

Valeur Signification
DDL_ARCHIVE
Inclut les fichiers archivés.
DDL_DIRECTORY
Inclut des sous-répertoires. Les noms de sous-répertoires sont 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
S’il est défini, DlgDirList utilise la fonction PostMessage pour envoyer des messages à la zone de liste. S’il n’est pas défini, DlgDirList utilise la fonction SendMessage .

Valeur retournée

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 plus complètes sur les erreurs, appelez .

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. Le texte du contrôle statique identifié par le paramètre nIDStaticPath est défini sur le nom du nouveau répertoire actif.

DlgDirList envoie les messages LB_RESETCONTENT et LB_DIR à la zone de liste.

Si uFileType inclut l’indicateur DDL_DIRECTORY et que lpPathSpec spécifie un répertoire de premier niveau, tel que C :\TEMP, la zone de liste 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 et système masqués.

La liste de répertoires affiche des noms de fichiers longs, le cas échéant.

Exemples

Pour obtenir des exemples, consultez les rubriques suivantes : Création d’une liste d’annuaires dans une zone de liste à sélection unique et Création d’une zone de liste à sélection multiple.

Notes

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

DlgDirListComboBox

DlgDirSelectComboBoxEx

DlgDirSelectEx

Référence