********关于文档与视图交互数据的疑问*********
在下有一个问题,功能能够实现,但我不明白为什么能够实现,希望能得到各位朋友的帮助。问题如下:
用VC自动生成一个单文档视图的应用程序后,自己添加了一个视图类,并通过某种方法将其显示出来。然后想在这个视图对象中显示文档类中的数据,我一般是通过下面的方法使该视图得到文档类中的数据:
1 在该视图类的CPP文件中包含该文档类的.h文件。
2 在需要使用文档类中Public的数据或函数的地方,通过 CMyDoc* pDoc =
( CMyDoc* )GetDocument()来获得文档对象的指针(其中CMyDoc为文档类的名字),然后就可以操作文档中的公共接口了。
我知道这样可以实现功能,但是这个GetDocument()到底是怎么实现的呢?框架自己生成的那个视图调用GetDocument()还好理解,通过
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMySDoc),
RUNTIME_CLASS(CMainFrame),
RUNTIME_CLASS(CMyView));
已经将其与文档联系到了一起,但是我自己加入的视图并没有编写什么特殊的代码,使其与原有的文档相联系,为什么我通过调用GetDocument()也能获得文档的指针呢?
再有,GetDocument()函数中的那个m_pDocument是在哪里定义的?我到类库手册中查了半天也没找到。
望各位朋友指教。