如何将CEditView对象与一个文件联系起来?

visualghost 2001-06-13 03:07:00
我先是创建类 myEditView:public CEditView
我将窗口份拆成两个pane,两个pane都用myEditView
现在我希望打开一个文件,在其中一个pane 中显示并作修改
但不知如何将文件与CEditView 的pane联系起来
请大虾指教,多谢
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kimo1980 2001-06-14
  • 打赏
  • 举报
回复
CEditView里有一个SerializeRaw()函数 (名字大概就是这个,记不太清了)

只要在CDocument类的OnSerialize()函数里获得某个pane,然后调用它的SerializeRaw函数就可以了。

CMyDocument::OnSerialize(CArcive &ar)
{
CMainFrame *pFrame=(CMainFrame*)AfxGetMainWnd();
CEditView* pView=(CEditView*)pFrame->m_SplitterWnd.GetPane(0,0);
if(pView) pView->SerializeRaw(ar);
}
guoxiny 2001-06-13
  • 打赏
  • 举报
回复
首先,要分清一个概念。文件->文档类->视图。在表面上,是一个视图和一个文件相连,但其实是一个文档和一个文件相连。文档模扳将一个文档类和一个视图关联起来。

/---CDocument---文件
CMultiDocTemplate--
\---CView
在CView里有一个GetDocument()函数用来得到与其关联的文档类指针,再在CView中用OnDraw显示出来。
panda_w 2001-06-13
  • 打赏
  • 举报
回复
这是文档和视图的关联问题:

如何将视与文档相匹配
问:我有四本关于VC的书,他们讨论了怎样动态建立一个视,但没有涉及如何将视与文档相关联.我建立了两个视,但无法匹配.
答:将一个视关联到一个文档,可以在建立视时,将相关联的文档指针指向你建立的对象中.

CCreateContext context;
context.m_pCurrentDoc = GetDocument();

2)假定你使用的是单文档.为了将左视与已存在的文档相关联,在视的CPP文件中加入一个函数GetDocument()
CMyDoc* CLeftView::GetDocument()
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
m_sunhongwei 2001-06-13
  • 打赏
  • 举报
回复
SetActiveView(参数)
visualghost 2001-06-13
  • 打赏
  • 举报
回复
...
seedundersnow 2001-06-13
  • 打赏
  • 举报
回复
听课

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧