Partager via


CWnd::DlgDirList

Remplit la zone de liste de fichiers ou de liste de répertoires.

int DlgDirList( 
   LPTSTR lpPathSpec, 
   int nIDListBox, 
   int nIDStaticPath, 
   UINT nFileType  
);

Paramètres

  • lpPathSpec
    Pointe vers une chaîne terminée par le caractère NULL qui contient le chemin ou le nom du fichier. DlgDirList modifie cette chaîne, qui doit être assez longtemps pour contenir les modifications. Pour plus d'informations, consultez la section suivante « notes ».

  • nIDListBox
    Spécifie l'identificateur d'une zone de liste. Si nIDListBox est 0, DlgDirList suppose qu'aucune zone de liste n'existe et ne tente pas de terminer un.

  • nIDStaticPath
    Spécifie l'identificateur du contrôle de portée texte utilisé pour afficher le lecteur actif et le dossier. Si nIDStaticPath est 0, DlgDirList suppose qu'aucun contrôle de texte n'est présent.

  • nFileType
    Spécifie les attributs des fichiers à afficher. Ce peut être toute combinaison des valeurs suivantes :

    • Fichiers de données en lecture /écriture deDDL_READWRITE sans attributs supplémentaires.

    • Fichiers en lecture seule deDDL_READONLY .

    • Fichiers masqués deDDL_HIDDEN .

    • Fichiers système deDDL_SYSTEM .

    • Répertoires deDDL_DIRECTORY .

    • Archives deDDL_ARCHIVE .

    • DDL_POSTMSGS   Balise deLB_DIR . Si la balise de LB_DIR est définie, les fenêtres définit les messages générés par DlgDirList dans la file d'attente de l'application ; sinon, elles sont destinées directement à la procédure de boîte de dialogue.

    • Lecteurs deDDL_DRIVES . Si la balise de DDL_DRIVES est définie, la balise de DDL_EXCLUSIVE est définie automatiquement. Par conséquent, pour créer une liste de dossiers qui inclut des lecteurs et des fichiers, vous devez appeler DlgDirList deux fois : une fois avec l'indicateur de DDL_DRIVES et une fois avec les indicateurs pour le reste de la liste.

    • Bit de type exclusif deDDL_EXCLUSIVE . Si le bit exclusif est défini, seuls les fichiers du type spécifié sont répertoriés ; les fichiers sinon normaux et les fichiers de type spécifié sont répertoriés.

Valeur de retour

Une valeur différente de zéro si la fonction est réussie ; sinon 0.

Notes

DlgDirList envoie des messages de LB_RESETCONTENT et de LB_DIR à la zone de liste. Elle remplit la zone de liste spécifiée par nIDListBox de noms de tous les fichiers qui correspondent au chemin d'accès donné par lpPathSpec.

Le paramètre d' lpPathSpec a la forme suivante :

[drive:] [ [\u]directory[\idirectory]... \u] [filename]

Dans cet exemple, drive est une lettre de lecteur, directory est un nom de répertoire valide, et le nom de fichier est un nom de fichier valide qui doit contenir au moins un masque. Les masques sont un point d'interrogation (?), qui signifie la correspondance un caractère, et un astérisque (*), ce qui signifie la correspondance un certain nombre de caractères.

Si vous spécifiez des chaînes de longueur 0 pour lpPathSpec, ou si vous spécifiez un seul nom de dossier mais n'incluez pas de spécification de fichier, la chaîne sera modifiée à « *.* ».

Si lpPathSpec inclut un lecteur et/ou un nom de répertoire, le lecteur actif et le répertoire sont modifiés sur le lecteur et au répertoire indiqués avant que la zone de liste est remplie. Le contrôle de texte identifié par nIDStaticPath est également mis à jour avec le nouveau lecteur et/ou nom de dossier.

Une fois la zone de liste est remplie, lpPathSpec est mis à jour en supprimant la partie du lecteur et/ou de répertoire du chemin d'accès.

Exemple

// If pDialog points to a CDialog object with a list box 
// with the identifier IDC_DIRLIST, this call will populate 
// the box with only the non-hidden subdirectories in the root 
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CWnd, classe

Graphique de la hiérarchie

CWnd::DlgDirListComboBox

DlgDirList