【请教】单文档多视图中数据调用的问题 单文档工程中,原视图为CLeftView,通过切分窗体得到另外一个视图类CRightView,请问在CLeftView的构造函数中能否得到文档中的数据?还是只能通过OnInitialUpdate来获得文档类中的数据?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那我在文档类中的数据非得通过OnInitialUpdate传递给视类了?? 你给视图类加个获得文档类对象指针的函数不就得了,随便什么时候都可以很方便的操作。在类中加函数声明CYourDoc* GetDocument();#include "mainFrm.h"CYourDoc* CYourView::GetDocument(){ CDocument* pDoc=((CMainFrame*)::AfxGetMainWnd())->GetActiveDocument(); if(pDoc==NULL) return NULL; else return (CYourDoc*) pDoc;}应用CYourDoc* pDoc=GetDocument();pDoc->......=pDoc->... 当然,如果工程中有多个文档类,最好还是加上这句ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CYourDoc))); 没试过,你把GetDocument()函数中获得文档类指针的办法加到视图类构造函数中去试试吧,也许可以的。 在构造函数中是不能使用的,另外在OnInitialUpdate业传递不了 因为单文档的View先于Doc形成 刚才说错了,纠正一下 在OnInitialUpdate可以获得文档类中的数据 CXXXDoc *doc = (CXXXDoc *)GetDocument(); m_xx = ddoc->m_xx; 并不是非得在OnInitialUpdate中获得,在需要用到的时候获得就行 2012年的新想法 弱弱的问下。一个简单通讯问题 做了一个虚拟键盘鼠标的驱动,感兴趣的可以去download. 请教内存泄漏,在线等! 一个非常诡异的现象,求高人解答 在一个工程中调用另外一个工程的实例 关于SetRedraw函数的问题 100分求源码,如何将TextOut显示的字符,写入并保存到一个位图中! 函数,你写过吗? 我老是看别人叫人学vc时的方法是 static LPCTSTR类型初始化的问题 急求--类似我的电脑中的导航窗口的实现。
CYourDoc* GetDocument();#include "mainFrm.h"
CYourDoc* CYourView::GetDocument()
{
CDocument* pDoc=((CMainFrame*)::AfxGetMainWnd())->GetActiveDocument();
if(pDoc==NULL) return NULL;
else return (CYourDoc*) pDoc;
}应用
CYourDoc* pDoc=GetDocument();
pDoc->...
...=pDoc->...
ASSERT(pDoc->IsKindOf(RUNTIME_CLASS(CYourDoc)));
因为单文档的View先于Doc形成
在OnInitialUpdate可以获得文档类中的数据 CXXXDoc *doc = (CXXXDoc *)GetDocument(); m_xx = ddoc->m_xx;