CWnd::DlgDirList
Preenche uma lista caixa com um arquivo ou diretório lista ndo.
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
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.DlgDirList modifica essa seqüência de caracteres, que deve ser grande o suficiente para conter as modificações. Para obter mais informações, consulte a seção "Comentários".nIDListBox
Especifica o identificador de um lista caixa.If nIDListBox é 0, DlgDirList pressupõe que nenhuma lista caixa existe e não tentar preencher uma.nIDStaticPath
Especifica o identificador do controle de texto estático usado para exibir a unidade atual e diretório.If nIDStaticPath é 0, DlgDirList pressupõe que nenhum controle texto está presente.nFileType
Especifica os atributos dos arquivos a 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 LB_DIR sinalizar.Se o LB_DIR sinalizar estiver definido, o Windows coloca as mensagens geradas por DlgDirList 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 DlgDirList 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
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Comentários
DlgDirList envia LB_RESETCONTENT and LB_DIR mensagens para o lista caixa.Ele preenche caixa de listagem especificada por nIDListBox 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 seqüência de caracteres de comprimento 0 para lpPathSpec, ou se você especificar um nome de diretório, mas não incluem qualquer especificação de arquivo, a seqüência de caracteres irá 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 lista de caixa é preenchida, lpPathSpec é atualizado, removendo a unidade e/ou diretório de parte 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