1. 程式人生 > >mfc 使用cfiledialog改變儲存路徑並儲存檔案

mfc 使用cfiledialog改變儲存路徑並儲存檔案

雖然是一個簡單的問題,對於我這樣的菜鳥還是忙了好幾天。該段程式實現儲存檔案,並且能夠在儲存前改變儲存路徑,並能呼叫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);
}