Partager via


LB_DIR message

Ajoute des noms à la liste affichée par une zone de liste. Le message ajoute les noms des répertoires et des fichiers qui correspondent à une chaîne et à un ensemble d’attributs de fichier spécifiés. LB_DIR pouvez également ajouter des lettres de lecteur mappées à la zone de liste.

Paramètres

wParam

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 les 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 les 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.

lParam

Pointeur vers la 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 d’accès absolu peut commencer par une lettre de lecteur (par exemple, d:) ou un nom UNC (par exemple, \\ nom_machine nom\ _partage).

Si la chaîne spécifie un nom de fichier ou un répertoire qui a les attributs spécifiés par le paramètre wParam , le nom de fichier ou le répertoire est ajouté à la liste. Si le nom de fichier ou de répertoire contient des caractères génériques (? ou *), tous les fichiers ou répertoires qui correspondent à l’expression générique et dont les attributs spécifiés par le paramètre wParam sont ajoutés à la liste.

Valeur retournée

Si le message réussit, la valeur de retour est l’index de base zéro du nom ajouté à la liste.

Si une erreur se produit, la valeur de retour est LB_ERR. S’il n’y a pas suffisamment d’espace pour stocker les nouvelles chaînes, la valeur de retour est LB_ERRSPACE.

Notes

Le message LB_INITSTORAGE permet d’accélérer l’initialisation des zones de liste contenant un grand nombre d’éléments (plus de 100). Il réserve la quantité de mémoire spécifiée afin que les messages LB_DIR suivants prennent le plus de temps possible. Vous pouvez utiliser des estimations pour les paramètres wParam et lParam . Si vous surestiment, la mémoire supplémentaire est allouée ; si vous sous-estimez, l’allocation normale est utilisée pour les éléments qui dépassent le montant demandé.

Si wParam inclut l’indicateur DDL_DIRECTORY et si lParam spécifie tous les sous-répertoires d’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 masqués et système.

La liste affiche les noms de fichiers longs, le cas échéant.

Pour une application ANSI, le système convertit le texte d’une zone de liste en Unicode à l’aide de CP_ACP. Cela peut entraîner des problèmes. Par exemple, les caractères romains accentués dans une zone de liste non-Unicode dans Windows japonais seront brouillés. Pour résoudre ce problème, compilez l’application en tant qu’Unicode ou utilisez une zone de liste dessinée par le propriétaire.

Spécifications

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]
En-tête
Winuser.h (inclure Windows.h)

Voir aussi

DlgDirList