CWnd::DlgDirListComboBox
Preenche a caixa de listagem de uma caixa de combinação com uma listagem de arquivo ou diretório.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
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.DlgDirListComboBox modifica essa seqüência de caracteres, esses dados não devem ser na formulário de uma seqüência de caracteres literal. Consulte a seção "Comentários".nIDComboBox
Especifica o identificador de uma caixa de combinação em uma caixa de diálogo.If 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 atual e diretório.If nIDStaticPath é 0, DlgDirListComboBox pressupõe que nenhum controle texto está presente.nFileType
Especifica atributos de arquivo DOS arquivos para 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 CB_DIR sinalizar.Se o CB_DIR sinalizar de conjunto, o Windows coloca as mensagens geradas por DlgDirListComboBox 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 DlgDirListComboBox 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
Especifica o resultado da função.É diferente de zero se uma listagem foi feita, até mesmo uma lista vazia.Um valor retornado 0 indica que a seqüência de caracteres de entrada não continha um caminho de Pesquisar válido.
Comentários
DlgDirListComboBox envia CB_RESETCONTENT and CB_DIR mensagens da caixa de combinação.Ele preenche o lista caixa da caixa de combinação especificada por nIDComboBox 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 cadeia de comprimento zero para lpPathSpec, será usado o diretório corrente e lpPathSpec não será modificado. Se você especificar um nome de diretório, mas não incluem qualquer especificação de arquivo, a seqüência de caracteres 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 caixa de combinação caixa de listagem é preenchida, lpPathSpec é atualizado, removendo a unidade e/ou diretório de parte 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