如何在一个类中获得另一个类(如C**Doc,C**App,C**view)的指针呢?好象是通过一个AfxGetApp()函数来实现的,但不知道具体怎么用,还请各位高手帮忙!
解决方案 »
- 怎样制作一个应用程序启动前加载时候的画面 ???
- 哪有Skype Api 下载啊?
- 问Windows程序设计中一个例子的问题
- 请教:如何获取程序码源自何种编译器??
- [BlueDog] 请问如何读取系统是否装有Modem,Modem装在什么口(Com1,Com2,Com3)?
- 如何在多线程总动态创建Access数据库(利用DAO)
- 请教CListCtrl的问题
- 等待硬件信号激活用循环等待好呢,还是线程检测好呢?
- 增样将ActiveX组件(即生成的DLL文件)生成.msi文件,高分回赠!!!!!
- [100分]急!有限元法解Hemholtz方程
- 如何在程序中直接打印jpg文件~~~~~~~~
- goodboyws(深夜不眠者) 是否在啊?询问有关编码转换的问题
1、从视图类获得文档类的指针
在视图类中需要引用文档类的地方之前,使用以下语句:
CTextDoc *pDoc=(CTestDoc*)GetDocument();
2、从文档类取得视图类的指针
CView* CTestDoc::GetVieww(CRuntimeClass* pClass)
{ CView* pView;
POSITION pos=GetFirstViewPosition();
while(pos!=NULL)
{
pView=GetNextView(pos);
if(pView->IsKindOf(pClass))
break;
}
if(!pView->IsKindOf(pClass))
return NULL;
return pView;}
可以这样写:C**view abc;
abc->write();
如果在你的APP类中有成员变量或函数,那么可以在对话框中调用这个函数获得APP类的指针,然后进行相应的操作。
能够访问到CWinApp对象的成员函数
AfxGetApp()->m_pMainFrm获得框架类CMainFraim的指针
CMainFraim中有GetActiveDocument(),GetActiveView()成员函数
可以得到你要的指针
CMy005View *pWnd =(CMy005View*)pMainFrame->GetActiveView();编译能通过,但运行的时候却有问题。这是什么原因啊?