MFC中多文档,多个文档之间如何沟通(联系)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中多文档,多个文档之间如何沟通(联系)相关的知识,希望对你有一定的参考价值。

文档虽然有多个,但框架只有一个,可以把要保存的变量存到CMainFrame中去,这样各个文档通过AfxGetMainWnd 就可以获得数据了。 参考技术A 可以用:
在要传数据的地方
m_ptDraw = point;
GetDocument()->UpdateAllViews(NULL,1(CObject*)&m_ptDraw);
Invalidate();

在到另一个中添加OnUpdate()来接收数据
if(lHint==1)
...

lHint是传数据是的标记.上面的那个1就是标记

MFC中文档模板的作用 View Doc Frame之间的关系

 View和Doc由Frame来进行管理 (这些知识遇到去,对比查一下,就会加快阅读代码的速度).而文档模板DocTemplate将三者联系起来了.

单文档时框架窗口用CFrameWnd, 多文档时用CMDIFrameWnd和CMDIChildWnd.

MDI子窗口(CMDIFrameWnd)与典型的框架窗口(CMDIFrameWnd)非常相似,唯一的区别在于MDI子窗口是出现在MDI框架窗口中,而不是在桌面上。

MDI子窗口没有自己的菜单条,不过它可以共享MDI框架窗口。框架自动更改MDI框架的菜单,用于代表当前活动的MDI子窗口。

技术图片

 

技术图片

 

以上是关于MFC中多文档,多个文档之间如何沟通(联系)的主要内容,如果未能解决你的问题,请参考以下文章

MFC中文档模板的作用 View Doc Frame之间的关系

在 C++ MFC 中使用 EnableMDITabbedGroups 时如何保持文档 Tab 键顺序

MFC,文件新建对话框提示参数和多个文档类型?

如何在MFC应用程序中添加文档菜单?

mfc单文档如何去掉最小化 还原

从单个文件打开多个文档