Partilhar via


CWnd::DlgDirListComboBox

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

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

Parâmetros

  • lpPathSpec
    Aponta para uma cadeia de caracteres NULL- finalizada que contém o caminho ou o nome de arquivo.DlgDirListComboBox alterar essa cadeia de caracteres, para que esses dados não devem ser na forma de um literal de cadeia de caracteres.Consulte a seção “comentários”.

  • nIDComboBox
    Especifica o identificador de uma caixa de combinação em uma caixa de diálogo.Se 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 e o diretório atual.Se nIDStaticPath é 0, DlgDirListComboBox assume que há um controle de texto está presente.

  • nFileType
    Especifica atributos de arquivo MS-DOS dos arquivos a serem exibidos.Pode ser qualquer combinação dos seguintes valores:

    • Arquivos de dados de leitura e escrita deDDL_READWRITE sem atributos adicionais.

    • Arquivo somente-leitura deDDL_READONLY .

    • Arquivos ocultosDDL_HIDDEN .

    • Arquivos de sistema deDDL_SYSTEM .

    • Diretórios deDDL_DIRECTORY .

    • Arquivos mortos deDDL_ARCHIVE .

    • DDL_POSTMSGS   Sinalizador deCB_DIR .Se o sinalizador de CB_DIR é definido, o windows as mensagens geradas por DlgDirListComboBox na fila de aplicativo; caso contrário, são enviados diretamente para o procedimento da caixa de diálogo.

    • Unidades deDDL_DRIVES .Se o sinalizador de DDL_DRIVES é definido, o sinalizador de DDL_EXCLUSIVE é definido automaticamente.Portanto, para criar uma listagem de diretório que inclui unidades e arquivos, você deve chamar DlgDirListComboBox duas vezes: uma vez com o conjunto de sinalizador de DDL_DRIVES e depois com os sinalizadores para o restante da lista.

    • Bit de Exclusive deDDL_EXCLUSIVE .Se o bit exclusiva é definido, somente os arquivos do tipo especificado são listados; os arquivos se não regulares e os 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 listagem vazia.Um 0 valores de retorno diz que a cadeia de caracteres de entrada não contiver um caminho de pesquisa válida.

Comentários

DlgDirListComboBox envia mensagens de CB_RESETCONTENT e de CB_DIR a caixa de combinação.Preenche a caixa de listagem caixa de combinação especificada por nIDComboBox com os nomes de todos os arquivos que correspondam o caminho fornecido por lpPathSpec.

O parâmetro de lpPathSpec tem a seguinte forma:

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

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

Se você especificar uma cadeia de caracteres de comprimento zero, lpPathSpecpara o diretório atual será usado e lpPathSpec não será alterado.Se você especificar apenas um nome de diretório mas não inclui nenhum especificação de arquivo, a cadeia de caracteres será alterada “*”.

Se lpPathSpec inclui uma unidade e/ou um nome de diretório, a unidade e o diretório atuais são alterados para a unidade e o diretório designados antes que a caixa de listagem é preenchida.O controle de texto identificado por nIDStaticPath também é atualizado com a nova unidade e/ou nome do diretório.

Depois que a caixa de listagem caixa de combinação é preenchida, lpPathSpec é atualizado remover a parte da unidade e/ou de diretório 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

CWnd Class

Gráfico de hierarquia

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox