Partilhar via


CFileDialog::CFileDialog

Chame essa função para criar uma caixa de diálogo de arquivo padrão do Windows.

explicit CFileDialog(
   BOOL bOpenFileDialog,
   LPCTSTR lpszDefExt = NULL,
   LPCTSTR lpszFileName = NULL,
   DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
   LPCTSTR lpszFilter = NULL,
   CWnd* pParentWnd = NULL,
   DWORD dwSize = 0,
   BOOL bVistaStyle = TRUE
);

Parâmetros

  • [in] bOpenFileDialog
    O parâmetro especifica qual tipo de caixa de diálogo para criar.conjunto it to TRUE para construir um em aberto arquivo caixa de diálogo.conjunto it to FALSE para construir um Salvar arquivo sistema autônomo caixa de diálogo.

  • [in] lpszDefExt
    A extensão de nome de arquivo padrão.Se o usuário não incluir uma extensão na caixa nome de arquivo, a extensão especificada por lpszDefExt é automaticamente acrescentado ao nome de arquivo. Se esse parâmetro for NULL, sem extensão é anexado.

  • [in] lpszFileName
    O nome de arquivo inicial que aparece na caixa Nome do arquivo.If NULL, nenhum nome inicial do arquivo é exibido.

  • [in] dwFlags
    Uma combinação de um ou mais sinalizadores que você pode usar para personalizar a caixa de diálogo.Para obter uma descrição desses sinalizadores, consulte o OPENFILENAME estrutura o Windows SDK. Se você modificar o m_ofn.Flags estruturar membros, use um operador bit a bit ou suas alterações para manter intacto o comportamento padrão.

  • [in] lpszFilter
    Uma série de pares de seqüência de caracteres que especifique filtros que você pode aplicar ao arquivo.Se você especificar arquivo filtros, somente arquivo s que correspondem aos critérios de filtro irá aparecer na lista arquivo s.Consulte a seção de comentários para obter mais informações sobre como trabalhar com filtros de arquivos.

  • [in] pParentWnd
    Um ponteiro para a janela pai ou proprietário da caixa de diálogo de arquivo.

  • [in] dwSize
    O dimensionar do OPENFILENAME estrutura. Esse valor depende da versão do sistema operacional.MFC usado esse parâmetro para determinar o tipo apropriado de caixa de diálogo para criar (por exemplo, novos Windows 2000 caixas de diálogo em vez de caixas de diálogo NT4). O dimensionar padrão de 0 significa que o código do MFC determinará o dimensionar da caixa de diálogo corretos para usar com base na versão do sistema operacional em que o programa é executado.

  • [in] bVistaStyle
    Observação:   Este parâmetro é aplicável somente se você está compilando em Windows Vista.

    O parâmetro especifica o estilo da caixa de diálogo de arquivo.Defina-o para TRUE Para usar as caixas de diálogo de arquivo de estilo Vista novas. Caso contrário, será usado o estilo antigo de caixas de diálogo.Consulte a seção de comentários para obter mais informações sobre compilar no Vista.

Comentários

Qualquer um em em aberto arquivo or Salvar arquivo sistema autônomo caixa de diálogo é construída, dependendo do valor de bOpenFileDialog.

Para permitir que o usuário selecionar vários arquivos, conjunto o OFN_ALLOWMULTISELECT sinalizar antes de chamar DoModal.Você deve fornecer seu próprio buffer de nome de arquivo para armazenar a lista retornada de vários nomes de arquivo.Para fazer isso, substituindo m_ofn.lpstrFile com um ponteiro para um buffer você tiver alocado, depois que você construir o CFileDialog, mas antes de chamar DoModal. Além disso, você deve conjunto **m_ofn. nMaxFile with the number of characters in the buffer pointed to by m_ofn.lpstrFile.**Se você conjunto o número máximo de arquivos a serem selecionados para n, o dimensionar do buffer necessário é n*(_MAX_PATH + 1) + 1. Por exemplo:

CFileDialog dlgFile(TRUE);
CString fileName;
const int c_cMaxFiles = 100;
const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1;
dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize);
dlgFile.GetOFN().nMaxFile = c_cMaxFiles;

dlgFile.DoModal();
fileName.ReleaseBuffer();

Para permitir que o usuário redimensionar uma caixa de diálogo Estilo Explorer usando o mouse ou teclado, conjunto o OFN_ENABLESIZING sinalizar. Defina esse sinalizar é necessário apenas se você fornecer um procedimento de gancho ou o modelo personalizado.O sinalizar funciona somente com uma caixa de diálogo do estilo do Explorer; caixas de diálogo Estilo antigo não podem ser redimensionadas.

The lpszFilter parâmetro é usado para determinar o tipo de nome de arquivo que um arquivo deve ter a ser exibido na lista de arquivos. A primeira seqüência de caracteres do emparelhar de seqüência de caracteres descreve o filtro; a segunda seqüência indica a extensão de nome de arquivo para usar.Várias extensões podem ser especificadas usando um ponto-e-vírgula (o caractere ';') sistema autônomo delimitador.A seqüência de caracteres termina com dois ' | ' caracteres, seguidos por um NULL caractere. Você também pode usar um CString objeto para esse parâmetro.

Por exemplo, Microsoft Excel permite que os usuários abram arquivos com extensões .xlc (gráfico) ou xls (planilha), entre outros. O filtro para o Excel pode ser escrito sistema autônomo:

static TCHAR BASED_CODE szFilter[] = _T("Chart Files (*.xlc)|*.xlc|")
   _T("Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|")
   _T("*.xlc; *.xls|All Files (*.*)|*.*||");

No entanto, se você planeja usar esta seqüência diretamente para atualizar o OPENFILENAME estrutura, você deve delimitar suas seqüências de caracteres com o caractere nulo, '\0', em vez de barras verticais (' | ').

The bVistaStyle parâmetro é aplicável somente sob Windows Vista. Versões anteriores do Windows, este parâmetro é ignorado.If bVistaStyle é definido como TRUE, quando você compilar um programa em Windows Vista, o novo estilo do Vista Caixa de diálogo de arquivo será usado.Caso contrário, o MFC anterior estilo Caixa de diálogo de arquivo será usado.Dessa forma, projetos corrente podem se beneficiar as novas caixas de diálogo Vista depois que eles sejam recompilados no Windows Vista ambiente. Consulte Classe CFileDialog para obter mais informações.

Exemplo

Consulte o exemplo para CFileDialog::DoModal.

Requisitos

Header: afxdlgs.h

Consulte também

Referência

Classe CFileDialog

Gráfico de hierarquia

CFileDialog::DoModal

GetOpenFileName

GetSaveFileName

OPENFILENAME

Outros recursos

CFileDialog membros