最后80分送出!在多文档界面中怎样调用自己另外定义的视图类对应的序列化函数Serilize()

oyyh_1234 2005-07-08 04:04:27
我做了一个基于CFormView的多文档界面,创建工程时自动生成了一个视图类和它对应的文档类.现在我又定义了一个基于CFormView的对话框IDD_FORMVIEW,并定义了一个和它关联的视图CControlView(也是基于CFormView),接着我定义了一个基于CDocument的文档类CControlDoc,最后我在应用程序类CPKASApp的InitInstance()函数中定义了一个文档模板指针,说明如下:

pDocControlTemplate = new CMultiDocTemplate(
IDR_CONTROLTYPE,
RUNTIME_CLASS(CCONTROLDoc),
RUNTIME_CLASS(CCONTROLChildFrame), // custom MDI child frame
RUNTIME_CLASS(CControlView));
AddDocTemplate(pDocControlTemplate);

我想问当程序打开IDD_FORMVIEW这个对话框后,填完数据要保存到文件时,如何调用文档类CControlDoc的序列化函数?
...全文
67 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
oyyh_1234 2005-07-10
哪位有关于多文档界面打开两个不同视图的例子,请给我参考一下!
回复
oyyh_1234 2005-07-10
请指教!急!
回复
快乐鹦鹉 2005-07-08
怎么不对了?GetDocument要强制转换一下吧。
回复
oyyh_1234 2005-07-08
我在"打开"子菜单中定义了如下函数,但不对,请指教
void CMainFrame::OnFileOpen2()
{
// TODO: Add your command handler code here
CCONTROLDoc *pDoc=GetDocument();
pDOC->Serialize(CArchive &ar);

}
回复
快乐鹦鹉 2005-07-08
pDocControlTemplate = new CMultiDocTemplate(
IDR_CONTROLTYPE,
RUNTIME_CLASS(CCONTROLDoc),
RUNTIME_CLASS(CCONTROLChildFrame), // custom MDI child frame
RUNTIME_CLASS(CControlView));
AddDocTemplate(pDocControlTemplate);
你这么写的话,其实CCONTROLDoc和CControlView以及CCONTROLChildFrame已经关联上了,不然这段话能干什么阿。文档模板就是将三者进行关联使用的。
回复
oyyh_1234 2005-07-08
现在这个视图和文档有没有关联上我都不知道,CControlView和CControlDoc怎么关联?
回复
快乐鹦鹉 2005-07-08
每个视图类不是可以用GetDocument函数获取对应的文档类对象么。
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-07-08 04:04
社区公告
暂无公告