Compartilhar via


CWnd::DlgDirList

Preenche uma caixa de listagem com uma lista de arquivo ou diretório.

int DlgDirList( 
   LPTSTR lpPathSpec, 
   int nIDListBox, 
   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. DlgDirList alterar essa cadeia de caracteres, que deve ser o suficiente para conter as alterações. Para mais informações, consulte a seção “comentários”.

  • nIDListBox
    Especifica o identificador de uma caixa de listagem. Se nIDListBox é 0, DlgDirList assume que nenhuma caixa de listagem 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, DlgDirList assume que há um controle de texto está presente.

  • nFileType
    Especifica os atributos 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 deLB_DIR . Se o sinalizador de LB_DIR é definido, o windows as mensagens geradas por DlgDirList 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 DlgDirList 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

Diferente de zero se a função é com êxito; se não 0.

Comentários

Envia LB_RESETCONTENT deDlgDirList e mensagens de LB_DIR a caixa de listagem. Preenche a caixa de listagem especificada por nIDListBox 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 (*), significando a correspondência qualquer número de caracteres.

Se você especificar um 0 cadeias de caracteres de comprimento para lpPathSpec, ou se você especificar apenas um nome de diretório mas não inclui nenhum especificação de arquivo, a cadeia de caracteres será alterada para “*.*”.

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 é 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 list box 
// with the identifier IDC_DIRLIST, this call will populate 
// the box with only the non-hidden subdirectories in the root 
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

CWnd Class

Gráfico da hierarquia

CWnd::DlgDirListComboBox

DlgDirList