Función DlgDirListComboBoxA (winuser.h)

Reemplaza el contenido de un cuadro combinado por los nombres de los subdirectorios y los archivos de un directorio especificado. Puede filtrar la lista de nombres especificando un conjunto de atributos de archivo. La lista de nombres puede incluir letras de unidad asignadas.

Sintaxis

int DlgDirListComboBoxA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDComboBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFiletype
);

Parámetros

[in] hDlg

Tipo: HWND

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

[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, \\nombreDeEquipo \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 a la lista que se muestra en el cuadro combinado.

[in] nIDComboBox

Tipo: int

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

[in] nIDStaticPath

Tipo: int

Identificador de un control estático en el cuadro de diálogo hDlg . DlgDirListComboBox 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

Conjunto de marcas de bits que especifican los atributos de los archivos o directorios que se van a agregar al cuadro combinado. Este parámetro puede ser una combinación de los valores siguientes.

Value Significado
DDL_ARCHIVE
Incluye archivos archivados.
DDL_DIRECTORY
Incluye subdirectorios, que 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 esta marca, DlgDirListComboBox usa la función PostMessage para enviar mensajes al cuadro combinado. Si no se establece esta marca, DlgDirListComboBox 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 error extendida, llame a GetLastError.

Comentarios

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

DlgDirListComboBox envía el CB_RESETCONTENT y CB_DIR mensajes al cuadro combinado.

Microsoft Windows NT 4.0 y versiones posteriores: si uFiletype incluye la marca DDL_DIRECTORY y lpPathSpec especifica un directorio de primer nivel, como C:\TEMP, el cuadro combinado 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.

Advertencia de seguridad: El uso incorrecto de esta función podría poner en peligro la seguridad del programa. El uso incorrecto de esta función incluye tener lpPathSpec indica un búfer que no se puede escribir o un búfer sin terminación NULL. Debe revisar las consideraciones de seguridad: controles de Microsoft Windows antes de continuar.

Microsoft Windows NT 4.0 y versiones posteriores: en la lista se muestran nombres de archivo largos, si los hay.

Windows 95 o posterior: la lista muestra nombres de archivo cortos (el formulario 8.3). Puede usar las funciones SHGetFileInfo o GetFullPathName para obtener el nombre de archivo largo correspondiente.

Windows 95 o posterior: DlgDirListComboBoxW es compatible con Microsoft Layer para Unicode. Para usarlo, debe agregar determinados archivos a la aplicación, como se describe en Microsoft Layer para Unicode en Windows Me/98/95 Systems.

Nota

El encabezado winuser.h define DlgDirListComboBox 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

DlgDirList

DlgDirSelectComboBoxEx

Referencia