虽然是一个简单的问题,对于我这样的菜鸟还是忙了好几天。该段程序实现保存文件,并且能够在保存前改变保存路径,并能调用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);
}