Share via


Método IFileDialog::SetFileTypes (shobjidl_core.h)

Define os tipos de arquivo que a caixa de diálogo pode abrir ou salvar.

Sintaxe

HRESULT SetFileTypes(
  [in] UINT                    cFileTypes,
  [in] const COMDLG_FILTERSPEC *rgFilterSpec
);

Parâmetros

[in] cFileTypes

Tipo: UINT

O número de elementos na matriz especificada por rgFilterSpec.

[in] rgFilterSpec

Tipo: const COMDLG_FILTERSPEC*

Um ponteiro para uma matriz de estruturas de COMDLG_FILTERSPEC , cada uma representando um tipo de arquivo.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT, incluindo o seguinte:

Código de retorno Descrição
E_UNEXPECTED

SetFileTypes já foi chamado.

E_UNEXPECTED
O sinalizador FOS_PICKFOLDERS foi definido no método IFileDialog::SetOptions .
E_INVALIDARG
O parâmetro rgFilterSpec é NULL.

Comentários

Ao usar a caixa de diálogo Abrir , os tipos de arquivo declarados lá são usados para filtrar a exibição. Ao usar a caixa de diálogo Salvar , esses valores determinam qual extensão de nome de arquivo é acrescentada ao nome do arquivo.

Esse método deve ser chamado antes que a caixa de diálogo seja mostrada e só possa ser chamada uma vez para cada instância de caixa de diálogo. Os tipos de arquivo não podem ser modificados depois que a caixa de diálogo Item Comum é exibida.

Exemplos

O exemplo de código a seguir demonstra o uso da matriz de estruturas COMDLG_FILTERSPEC no contexto desse método. A matriz de exemplo consiste em três estruturas de COMDLG_FILTERSPEC . O primeiro declara dois padrões para o filtro de caixa de diálogo, o segundo declara um único padrão e o último mostra arquivos de todos os tipos. As variáveis szJPG, szBMP e szAll são consideradas cadeias de caracteres declaradas anteriormente que fornecem um nome amigável para cada filtro.

COMDLG_FILTERSPEC rgSpec[] =
{ 
    { szJPG, L"*.jpg;*.jpeg" },
    { szBMP, L"*.bmp" },
    { szAll, L"*.*" },
};

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)