Compartir a través de


Función DlgDirListA (winuser.h)

Reemplaza el contenido de un cuadro de lista por los nombres de los subdirectorios y archivos de un directorio especificado. Puede filtrar la lista de nombres especificando un conjunto de atributos de archivo. Opcionalmente, la lista puede incluir unidades asignadas.

Sintaxis

int DlgDirListA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDListBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFileType
);

Parámetros

[in] hDlg

Tipo: HWND

Identificador del cuadro de diálogo que contiene el cuadro de lista.

[in, out] lpPathSpec

Tipo: LPTSTR

Puntero a un búfer que contiene una cadena terminada en null que especifica una ruta de acceso absoluta, una ruta de acceso relativa o un nombre de archivo. Una ruta de acceso absoluta puede comenzar con una letra de unidad (por ejemplo, d:) o un nombre UNC (por ejemplo, \<i>machinename sharename\).

La función divide la cadena en un directorio y un nombre de archivo. La función busca nombres en el directorio que coinciden con el nombre de archivo. Si la cadena no especifica un directorio, la función busca en el directorio actual.

Si la cadena incluye un nombre de archivo, el nombre de archivo debe contener al menos un carácter comodín (? o *). Si la cadena no incluye un nombre de archivo, la función se comporta como si hubiera especificado el carácter comodín asterisco (*) como nombre de archivo. Todos los nombres del directorio especificado que coinciden con el nombre de archivo y que tienen los atributos especificados por el parámetro uFileType se agregan al cuadro de lista.

[in] nIDListBox

Tipo: int

Identificador de un cuadro de lista en el cuadro de diálogo hDlg . Si este parámetro es cero, DlgDirList no intenta rellenar un cuadro de lista.

[in] nIDStaticPath

Tipo: int

Identificador de un control estático en el cuadro de diálogo hDlg . DlgDirList establece el texto de este control para mostrar la unidad y el directorio actuales. Este parámetro puede ser cero si no desea mostrar la unidad y el directorio actuales.

[in] uFileType

Tipo: UINT

Especifica los atributos de los archivos o directorios que se van a agregar al cuadro de lista. Este parámetro puede ser uno o más de los siguientes valores.

Valor Significado
DDL_ARCHIVE
Incluye archivos archivados.
DDL_DIRECTORY
Incluye subdirectorios. Los nombres de subdirectorio se incluyen entre corchetes ([ ]).
DDL_DRIVES
Todas las unidades asignadas se agregan a la lista. Las unidades se muestran con el formato [- x-], donde x es la letra de unidad.
DDL_EXCLUSIVE
Solo incluye archivos con los atributos especificados. De forma predeterminada, los archivos de lectura y escritura se muestran incluso si no se especifica DDL_READWRITE.
DDL_HIDDEN
Incluye archivos ocultos.
DDL_READONLY
Incluye archivos de solo lectura.
DDL_READWRITE
Incluye archivos de lectura y escritura sin atributos adicionales. Esta es la configuración predeterminada.
DDL_SYSTEM
Incluye archivos del sistema.
DDL_POSTMSGS
Si se establece, DlgDirList usa la función PostMessage para enviar mensajes al cuadro de lista. Si no se establece, DlgDirList usa la función SendMessage .

Valor devuelto

Tipo: int

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Por ejemplo, si la cadena especificada por lpPathSpec no es una ruta de acceso válida, se produce un error en la función. Para obtener información de errores extendida, realice una llamada a .

Comentarios

Si lpPathSpec especifica un directorio, DlgDirListComboBox cambia el directorio actual al directorio especificado antes de rellenar el cuadro de lista. El texto del control estático identificado por el parámetro nIDStaticPath se establece en el nombre del nuevo directorio actual.

DlgDirList envía el LB_RESETCONTENT y LB_DIR mensajes al cuadro de lista.

Si uFileType incluye la marca DDL_DIRECTORY y lpPathSpec especifica un directorio de primer nivel, como C:\TEMP, el cuadro de lista siempre incluirá una entrada ".." para el directorio raíz. Esto es true incluso si el directorio raíz tiene atributos ocultos o del sistema y las marcas de DDL_HIDDEN y DDL_SYSTEM no se especifican. El directorio raíz de un volumen NTFS tiene atributos ocultos y del sistema.

La lista de directorios muestra nombres de archivo largos, si los hay.

Ejemplos

Para obtener ejemplos, vea los temas siguientes: Crear una lista de directorios en un cuadro de lista de selección única y Crear un cuadro de lista de selección múltiple.

Nota

El encabezado winuser.h define DlgDirList como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll

Consulte también

DlgDirListComboBox

DlgDirSelectComboBoxEx

DlgDirSelectEx

Referencia