Compartilhar 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 da hierarquia

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox