Partilhar via


CFileDialog::DoModal

Chamar essa função para exibir a caixa de diálogo comuns do windows e para permitir que o usuário procure arquivos e diretórios e digite um nome de arquivo.

virtual INT_PTR DoModal( );

Valor de retorno

IDOK ou IDCANCEL.Se IDCANCEL é retornado, chame a função de CommDlgExtendedError do windows para determinar se um erro ocorrer.

IDOK e IDCANCEL são constantes que indica se o usuário tiver selecionado o botão OK ou cancelar.

Comentários

Se você deseja inicializar as várias opções da caixa de diálogo de arquivo definindo membros de estrutura de m_ofn , você deve fazê-lo antes de chamar DoModal, mas após o objeto da caixa de diálogo é construído.

Por exemplo, se você quiser permitir que o usuário selecione vários arquivos, defina o parâmetro de OFN_ALLOWMULTISELECT antes de chamar DoModal, conforme mostrado no exemplo de código em classe de CFileDialog.

Quando o usuário clica em OK da caixa de diálogo ou botões cancelar, ou próximo selecionar a opção de menu de controle da caixa de diálogo, o controle é retornado ao seu aplicativo.Você pode chamar outras funções de membro para recuperar as configurações ou informações as entradas do usuário na caixa de diálogo.

DoModal é uma função virtual substituída da classe CDialog.

Exemplo

void CMyClass::OnFileOpen()
{
   // szFilters is a text string that includes two file name filters:
   // "*.my" for "MyType Files" and "*.*' for "All Files."
   TCHAR szFilters[]= _T("MyType Files (*.my)|*.my|All Files (*.*)|*.*||");

   // Create an Open dialog; the default file name extension is ".my".
   CFileDialog fileDlg(TRUE, _T("my"), _T("*.my"),
      OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);

   // Display the file dialog. When user clicks OK, fileDlg.DoModal() 
   // returns IDOK.
   if(fileDlg.DoModal() == IDOK)
   {
      CString pathName = fileDlg.GetPathName();

      // Implement opening and reading file in here.

      //Change the window's title to the opened file's title.
      CString fileName = fileDlg.GetFileTitle();

      SetWindowText(fileName);
   }
}

Requisitos

Cabeçalho: afxdlgs.h

Consulte também

Referência

Classe de CFileDialog

Gráfico de hierarquia

CDialog::DoModal

CFileDialog::CFileDialog