CWnd::DlgDirListComboBox

Preenche a caixa de listagem de uma caixa de combinação com uma listagem de arquivo ou diretório.

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

Parâmetros

  • lpPathSpec
    Aponta para uma seqüência de caracteres terminada com nulo que contém o caminho ou nome de arquivo.DlgDirListComboBox modifica essa seqüência de caracteres, esses dados não devem ser na formulário de uma seqüência de caracteres literal. Consulte a seção "Comentários".

  • nIDComboBox
    Especifica o identificador de uma caixa de combinação em uma caixa de diálogo.If nIDComboBox é 0, DlgDirListComboBox assume que nenhuma caixa de combinação existe e não tenta preencher um.

  • nIDStaticPath
    Especifica o identificador do controle de texto estático usado para exibir a unidade atual e diretório.If nIDStaticPath é 0, DlgDirListComboBox pressupõe que nenhum controle texto está presente.

  • nFileType
    Especifica atributos de arquivo DOS arquivos para serem exibidos.Ele pode ser qualquer combinação dos seguintes valores:

    • DDL_READWRITE   Arquivos de dados de leitura-gravar sem atributos adicionais.

    • DDL_READONLY   Arquivos somente leitura.

    • DDL_HIDDEN   Arquivos oculto.

    • DDL_SYSTEM   Arquivos de sistema.

    • DDL_DIRECTORY   Pastas.

    • DDL_ARCHIVE   Arquiva.

    • DDL_POSTMSGS   CB_DIR sinalizar.Se o CB_DIR sinalizar de conjunto, o Windows coloca as mensagens geradas por DlgDirListComboBox fila do aplicativo; caso contrário, eles são enviados diretamente para o procedimento da caixa de diálogo.

    • DDL_DRIVES   As unidades.Se o DDL_DRIVES flag is conjunto, the DDL_EXCLUSIVEsinalizar de conjunto automaticamente.Portanto, para criar uma lista de pastas que inclui unidades e arquivos, você deve chamar DlgDirListComboBox duas vezes: uma vez com o DDL_DRIVES sinalizar conjunto e uma vez com os sinalizares para o restante da lista.

    • DDL_EXCLUSIVE   Bit exclusivo.Se o bit exclusivo é conjunto, somente os arquivos do tipo especificado são listados; caso contrário, os arquivos normais e arquivos do tipo especificado são listados.

Valor de retorno

Especifica o resultado da função.É diferente de zero se uma listagem foi feita, até mesmo uma lista vazia.Um valor retornado 0 indica que a seqüência de caracteres de entrada não continha um caminho de Pesquisar válido.

Comentários

DlgDirListComboBox envia CB_RESETCONTENT and CB_DIR mensagens da caixa de combinação.Ele preenche o lista caixa da caixa de combinação especificada por nIDComboBox com os nomes de todos os arquivos que correspondem ao caminho fornecido pelo lpPathSpec.

The lpPathSpec parâmetro possui a seguinte forma:

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

Neste exemplo, drive é uma letra da unidade directory é um nome de diretório válido e nome de arquivo é um nome de arquivo válido que deve conter pelo menos um caractere curinga.Os curingas são um ponto de interrogação (?), que significa que a correspondência com qualquer caractere e um asterisco (*), que significa corresponder a qualquer número de caracteres.

Se você especificar uma cadeia de comprimento zero para lpPathSpec, será usado o diretório corrente e lpPathSpec não será modificado. Se você especificar um nome de diretório, mas não incluem qualquer especificação de arquivo, a seqüência de caracteres será alterada para "*".

If lpPathSpec incluir um nome de unidade e/ou diretório, a unidade e pasta corrente são alteradas para a unidade designada e o diretório antes do lista caixa é preenchida. O controle de texto identificado por nIDStaticPath também é atualizado com o novo nome de unidade e/ou diretório.

Após a caixa de combinação caixa de listagem é preenchida, lpPathSpec é atualizado, removendo a unidade e/ou diretório de parte do caminho.

Exemplo

// 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

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CWnd

Gráfico de hierarquia

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox

Outros recursos

Membros CWnd