winuser.h


DlgDirList

La función DlgDirList llena el list box especificado con los nombres de todos los ficheros en el camino o nombre de fichero especificado.

Sintaxis

int DlgDirList(
    HWND hDlg,          // manipulador de cuadro de diálogo con list box
    LPTSTR lpPathSpec,  // puntero a cadena de camino o nombre de fichero
    int nIDListBox,     // identificador de list box
    int nIDStaticPath,  // identificador de control estático
    UINT uFileType      // atributos de fichero a mostrar
   );

Parámetros

hDlg: identifica el cuadro de diálogo que contiene el list box.

lpPathSpec: apunta a una cadena terminada en cero que contiene el camino o el nombre de fichero. DlgDirList modifica esta cadena, de modo que debe ser lo suficientemente larga para contener las modificaciones. Para más información sobre este parámetro, ver la sección de observaciones.

nIDListBox: especifica el identificador de un list box. Si este parámetro es cero, DlgDirList asume que no existe list box y no intenta llenarlo.

nIDStaticPath: especifica el identificador del control estático usado para mostrar el disco y directorio actuales. Si este parámetro es cero, DlgDirList asume que no existe tal control.

uFileType: especifica los atributos de los nombres de fichero a mostrar. Este parámetro debe tener uno o más de los siguientes valores:

Valor Descripción
DDL_ARCHIVE Incluye los ficheros con bit de archivo.
DDL_DIRECTORY Incluye subdirectorios. Los nombres de subdirectorio se muestran entre corchetes ([ ]).
DDL_DRIVES Incluye unidades. Las unidades de almacenamiento se listan en el formato [-x-], donde x es la letra de la unidad.
DDL_EXCLUSIVE Incluye sólo ficheros con los atributos especificados. Por defecto, se muestran los ficheros de lectura-escritura aunque no se especifique el valor DDL_READWRITE.
DDL_HIDDEN Incluye ficheros ocultos.
DDL_READONLY Incluye ficheros de sólo lectura.
DDL_READWRITE Incluye ficheros de lectura-escritura sin atributos adicionales.
DDL_SYSTEM Incluye ficheros de sistema.
DDL_POSTMSGS Envía los mensajes lentos (post) a la cola de mensajes de la aplicación. Por defecto, DlgDirList envía los mensajes directamente al procedimiento de diálogo.

Valor de retorno

Si se crea una lista, aunque sea una lista vacía, el valor de retorno es distinto de cero. Si la cadena de entrada no contiene un camino de búsqueda válido, el valor de retorno es cero.

Observaciones

Si se especifica una cadena de longitud cero para el parámetro lpPathSpec o si se especifica sólo un nombre de directorio sin nombre de fichero, la cadena se cambiará por *.*.

El parámetro lpPathSpec tiene el formato siguiente:

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

En este ejemplo, drive es una letra de unidad de almacenamiento, directory es un nombre de directorio válido y filename es un nombre de fichero válido que debe contener al menos un comodín (? o *).

Si lpPathSpec incluye una unidad de almacenamiento o un nombre de directorio, o ambos, la unidad de almacenamiento y el directorio se cambian a los valores espeficados antes de que se llene el list box. El control estático identificado por el parámetro nIDStaticPath también se actualiza con la nueva unidad de almacenamiento o nombre de directorio, o ambos.

Después de que el list box se llene, DlgDirList actualiza lpPathSpec eliminando la porción de la unidad de almacenamiento o del directorio, o ambos, del camino o nombre de fichero.

DlgDirList envía los mensajes LB_RESETCONTENT y LB_DIR al list box.