Как получить сохранить как диалог в MFC - PullRequest
1 голос
/ 25 марта 2011

Как создать диалоговое окно «Сохранить как» в MFC?

Например, когда я нажимаю «сохранить как» в MFC, появляется диалоговое окно. Как мне это повторить?

Ответы [ 2 ]

7 голосов
/ 25 марта 2011

Вот пример из MSDN для открытого диалогового окна:

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);
   }
}

В диалоговом окне «Сохранить как» просто измените вызов CFileDialog следующим образом:

   CFileDialog fileDlg(FALSE, _T("my"), _T("*.my"),
        OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);

Примечания:

  • Некоторые аргументы являются необязательными.
  • szFilters содержит необходимые расширения файлов.
1 голос
/ 25 марта 2011

Как это:

CFileDialog dlg(FALSE);
dlg.DoModal();
...