如何在MFC中创建“另存为”对话框?
例如,当我在MFC中单击“另存为”时,会出现一个对话框。我该如何复制?
答案 0 :(得分:7)
以下是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);
备注:
答案 1 :(得分:1)
像这样:
CFileDialog dlg(FALSE);
dlg.DoModal();