mfc 使用cfiledialog改變儲存路徑並儲存檔案
阿新 • • 發佈:2019-01-06
雖然是一個簡單的問題,對於我這樣的菜鳥還是忙了好幾天。該段程式實現儲存檔案,並且能夠在儲存前改變儲存路徑,並能呼叫CDocument::OnSaveDocument實現序列輸入。
程式碼如下:
void CLADDoc::OnFileSave1() //儲存按鈕的響應函式
{
// TODO: Add your command handler code here
CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();
const char pszFilter[] = _T("梯形圖程式 (*.lad)|*.lad||");
CFileDialog dlgSave( FALSE, //FALSE為儲存
_T(".lad"), //自動加上的副檔名
_T("NoName.lad"), //預設儲存的檔名
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,pszFilter, pMain);
dlgSave.m_ofn.lpstrInitialDir = filePath ;
CString fileDlgName;
if (dlgSave.DoModal() == IDOK)
{
fileDlgName = dlgSave.GetPathName();
}
this->SetPathName(fileDlgName);
this->OnSaveDocument(fileDlgName);
}