Serialize(CArchive& ar) 第一次打开文本时进入该函数,第二次打开相同文件时不再进入
原因:打开文件时会查看该文件是否打开过,如果已打开,就不再调用Serialize(CArchive& ar) 函数
解决方法如下:
void CYyApp::OnFileOpen()
{
CString newName;
if (!DoPromptFileName(newName,AFX_IDS_OPENFILE,OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,TRUE,NULL))
{
return;
}
POSITION pos = theApp.GetFirstDocTemplatePosition();
CSingleDocTemplate pDocTemplate = (CSingleDocTemplate )theApp.GetNextDocTemplate(pos);
pDocTemplate->OpenDocumentFile(newName);
}