单文档多视图结构之间的数据通信

使用下面代码,可以获取单文档所对应的视图类的指针


CView* CTestDoc::GetView(CRuntimeClass* pClass)
{
 		CView* pView;
		 POSITION pos=GetFirstViewPosition();
		 while(pos!=NULL)
		{
			 pView=GetNextView(pos);
			 if(pView->IsKindOf(pClass))
			 break; 
		}
		 if(!pView->IsKindOf(pClass))
		{
			 AfxMessageBox("Connt Locate the View.\r\n http://www.VCKBASE.com); 
			return NULL;
		 }
		 return pView; 
}

使用这个函数时,示例如下:

CDataResultView* pView = (CDataResultView*)GetView( RUNTIME_CLASS(CDataResultView) );


要注意如下:

1、函数传入的参数中要加上宏 RUNTIME_CLASS ,函数返回的时候,要加上强制转化为需要视图类的指针。

你可能感兴趣的:(单文档多视图结构之间的数据通信)