Função DlgDirListA (winuser.h)
Substitui o conteúdo de uma caixa de listagem pelos nomes dos subdiretórios e arquivos em um diretório especificado. Você pode filtrar a lista de nomes especificando um conjunto de atributos de arquivo. Opcionalmente, a lista pode incluir unidades mapeadas.
Sintaxe
int DlgDirListA(
[in] HWND hDlg,
[in, out] LPSTR lpPathSpec,
[in] int nIDListBox,
[in] int nIDStaticPath,
[in] UINT uFileType
);
Parâmetros
[in] hDlg
Tipo: HWND
Um identificador para a caixa de diálogo que contém a caixa de listagem.
[in, out] lpPathSpec
Tipo: LPTSTR
Um ponteiro para um buffer que contém uma cadeia de caracteres terminada em nulo que especifica um caminho absoluto, um caminho relativo ou um nome de arquivo. Um caminho absoluto pode começar com uma letra de unidade (por exemplo, d:) ou um nome UNC (por exemplo, \<i>machinename\sharename).
A função divide a cadeia de caracteres em um diretório e um nome de arquivo. A função pesquisa o diretório em busca de nomes que correspondam ao nome do arquivo. Se a cadeia de caracteres não especificar um diretório, a função pesquisa o diretório atual.
Se a cadeia de caracteres incluir um nome de arquivo, o nome do arquivo deverá conter pelo menos um caractere curinga (? ou *). Se a cadeia de caracteres não incluir um nome de arquivo, a função se comportará como se você tivesse especificado o caractere curinga do asterisco (*) como o nome do arquivo. Todos os nomes no diretório especificado que correspondem ao nome do arquivo e têm os atributos especificados pelo parâmetro uFileType são adicionados à caixa de listagem.
[in] nIDListBox
Tipo: int
O identificador de uma caixa de listagem na caixa de diálogo hDlg . Se esse parâmetro for zero, DlgDirList não tentará preencher uma caixa de listagem.
[in] nIDStaticPath
Tipo: int
O identificador de um controle estático na caixa de diálogo hDlg . DlgDirList define o texto desse controle para exibir a unidade e o diretório atuais. Esse parâmetro poderá ser zero se você não quiser exibir a unidade e o diretório atuais.
[in] uFileType
Tipo: UINT
Especifica os atributos dos arquivos ou diretórios a serem adicionados à caixa de listagem. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
Inclui arquivos arquivados. |
|
Inclui subdiretórios. Os nomes de subdiretórios são colocados entre colchetes ([ ]). |
|
Todas as unidades mapeadas são adicionadas à lista. As unidades são listadas no formulário [- x-], em que x é a letra da unidade. |
|
Inclui apenas arquivos com os atributos especificados. Por padrão, os arquivos de leitura/gravação são listados mesmo se DDL_READWRITE não for especificado. |
|
Inclui arquivos ocultos. |
|
Inclui arquivos somente leitura. |
|
Inclui arquivos de leitura/gravação sem atributos adicionais. Essa é a configuração padrão. |
|
Inclui arquivos do sistema. |
|
Se definido, DlgDirList usará a função PostMessage para enviar mensagens para a caixa de listagem. Se não estiver definido, DlgDirList usará a função SendMessage . |
Retornar valor
Tipo: int
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Por exemplo, se a cadeia de caracteres especificada por lpPathSpec não for um caminho válido, a função falhará. Para obter outras informações sobre o erro, chame .
Comentários
Se lpPathSpec especificar um diretório, DlgDirListComboBox alterará o diretório atual para o diretório especificado antes de preencher a caixa de listagem. O texto do controle estático identificado pelo parâmetro nIDStaticPath é definido como o nome do novo diretório atual.
DlgDirList envia as mensagens LB_RESETCONTENT e LB_DIR para a caixa de listagem.
Se uFileType incluir o sinalizador DDL_DIRECTORY e lpPathSpec especificar um diretório de primeiro nível, como C:\TEMP, a caixa de listagem sempre incluirá uma entrada ".." para o diretório raiz. Isso é verdadeiro mesmo se o diretório raiz tiver atributos ocultos ou do sistema e os sinalizadores DDL_HIDDEN e DDL_SYSTEM não forem especificados. O diretório raiz de um volume NTFS tem atributos ocultos e do sistema.
A listagem de diretório exibe nomes de arquivo longos, se houver.
Exemplos
Para obter exemplos, consulte os seguintes tópicos: Criando uma listagem de diretórios em uma caixa de listagem de seleção única e Criando uma caixa de listagem de seleção múltipla.
Observação
O cabeçalho winuser.h define DlgDirList como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |
Confira também
Referência