我现在有两个工程,其中一个是基于多文档的,自己写了一个可以序列化的类,已经有序列化的文档生成。生成的方法是在
CMyDocument::Serialize(CArchive& ar)
{
  if (ar.IsStoring())
  {
// TODO: add storing code here
   }
   else
   {
// TODO: add loading code here
   }
   m_TestQuestionList.Serialize(ar);//m_TestQuestionList为我的可序列化类的对象
}现在我想在另外一个工程中导入上面那个工程生成的序列化文件,而且这个工程应该是基于对话框的,没有Document支持了,请问这样我这样的要求可以实现吗?如果能麻烦您给我具体讲一下。
如果实在不行,我想建立一个单文档的工程,启动时把主框架隐藏,这个刚才测试了一下效果,程序启动时主框架还是会有一闪,感觉不太好,我是在App类中把那句
m_pMainWnd->ShowWindow(SW_SHOW)改成m_pMainWnd->ShowWindow(SW_HIDE)的。
不知道这种实现方法还有没有可以改进的地方,使程序运行时看不出有闪烁的感觉。这两个问题对我来说都比较难,望大家多多帮忙啊,谢谢!分不够我可以追加,只要问题能够解决。

解决方案 »

  1.   

    你看能否在对话框中加入文档类,要不然就作单文档FORM视图的吧
      

  2.   

    串行话的东西和Doc/view有关,所以如果想移植到dialog上比较麻烦,可能需要重写,可以参考侯捷的深入浅出MFC和 programming windows with MFC(2nd)
      

  3.   

    用对话框完全可以实现你在对话框中要产生两个对象, 一个CFile类的对象, 两个CArchive类的对象(一个用于打开,一个用于保存). 将你的两个CArchive对象捆绑到这个 CFile 对象上.
    然后用CArchive对象做保存或者打开的序列化工作就行了,过程与有文档支持的AR对象一样.
      

  4.   

    忘记说了,你要用你的CFile对象以读写方式打开你要序列化的文件.
    主个不成问题吧?
    用CFileDialog对象得到文件的绝对路径, 然后用CFile对象打开