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