Compartir a través de


CWnd::DlgDirListComboBox

Rellena el cuadro de lista de un cuadro combinado con un archivo o una lista de directorios.

int DlgDirListComboBox(
   LPTSTR lpPathSpec,
   int nIDComboBox,
   int nIDStaticPath,
   UINT nFileType 
);

Parámetros

  • lpPathSpec
    Señala una cadena terminada en null que contiene la ruta o el nombre de archivo.DlgDirListComboBox modifica esta cadena, por lo que estos datos no debe estar en forma de literal de cadena.Vea la siguiente sección de “notas”.

  • nIDComboBox
    Especifica el identificador de un cuadro combinado en un cuadro de diálogo.Si nIDComboBox es 0, DlgDirListComboBox supone que ningún cuadro combinado existe y no intenta rellenar uno.

  • nIDStaticPath
    Especifica el identificador del control de texto estático se utiliza para mostrar la unidad o el directorio actual.Si nIDStaticPath es 0, DlgDirListComboBox supone que no hay tal control de texto presente.

  • nFileType
    Especifica los atributos de archivo DOS de los archivos que se van a mostrar.Puede ser cualquier combinación de los siguientes valores:

    • Archivos de datos de la Leer-escritura deDDL_READWRITE sin atributos adicionales.

    • Archivos de solo lectura deDDL_READONLY .

    • Archivos ocultos deDDL_HIDDEN .

    • Archivos de sistema deDDL_SYSTEM .

    • Directorios deDDL_DIRECTORY .

    • Archivos deDDL_ARCHIVE .

    • DDL_POSTMSGS   Indicador deCB_DIR .Si se establece la marca de CB_DIR , Windows hace que los mensajes generados por DlgDirListComboBox en la cola de la aplicación; si no, se envían directamente al cuadro de diálogo.

    • Unidades deDDL_DRIVES .Si se establece la marca de DDL_DRIVES , el indicador de DDL_EXCLUSIVE se establece automáticamente.Por consiguiente, para crear una lista de directorios que incluya las unidades y archivos, debe llamar a DlgDirListComboBox dos veces: una vez con la marca de DDL_DRIVES y otra con los mensajes para el resto de la lista.

    • Bit deDDL_EXCLUSIVE Exclusive.Si se establece el bit exclusivo, solo los archivos del tipo especificado se muestran; los archivos si no normales y del tipo especificado se enumeran.

Valor devuelto

especifica el resultado de la función.Es distinto de cero si una lista se hizo, incluso una lista vacía.Los 0 valores devueltos implican que la cadena de entrada no contenía una ruta de búsqueda válida.

Comentarios

DlgDirListComboBox envía los mensajes de CB_RESETCONTENT y de CB_DIR al cuadro combinado.Rellena el cuadro de lista del cuadro combinado especificado por nIDComboBox con los nombres de todos los archivos que coinciden con la ruta de acceso especificada por lpPathSpec.

El parámetro de lpPathSpec tiene el siguiente formato:

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

En este ejemplo, drive es una letra de unidad, directory es un nombre de directorio válido, y el nombre de archivo es un nombre de archivo válido que debe contener al menos un carácter comodín.Los comodines son un signo de interrogación (?), lo que significa que la coincidencia cualquier carácter, y un asterisco (*), lo que significa que la coincidencia cualquier número de caracteres.

Si especifica una cadena de longitud cero para lpPathSpec, el directorio actual se utilizará y lpPathSpec no se va a modificar.Si sólo especifica un nombre de directorio pero no incluye ninguna especificación de archivo, la cadena se cambiará “*”.

Si lpPathSpec incluye una unidad o un nombre de directorio, la unidad o el directorio actual se cambian a la unidad y el directorio notifican antes de que se rellene el cuadro de lista.El control de texto identificado por nIDStaticPath también se actualiza con la nueva unidad y/o nombre de directorio.

Después de que se rellene el cuadro de lista del cuadro combinado, lpPathSpec está actualizado quitando la unidad o a la parte del directorio de la ruta.

Ejemplo

// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive. 

TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | 
   DDL_DIRECTORY);

// Note that the first argument is a string and not a string 
// literal. This is necessary because DlgDirListComboBox 
// modifies the supplied string. Passing a string literal 
// will result in an access violation.   

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CWnd

Gráfico de jerarquía

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox