我想在mainfrm里面调用CCakView类下面的funcA();
执行CCakView * pView =(CCakView *)GetActiveView(); 会报CCakView没定义#include"CakView.h"又会报缺少';'之类的错误,查了下好像是因为头文件互相包含的缘故试了试在mainfrm.h里面前置声明class CCakView 的话
CCakView * pView =(CCakView *)GetActiveView();就没有错误了
但是执行 pView->fnucA();的话 又会报CCakView没定义!但是要是直接CView * pView= (CView *)GetActiveView();的话 ,应该无法访问到我在View里自定义的函数funcA()吧?请问牛人们 我在mainfrm里面怎样才能访问到那个func()啊!急啊~~分少大家帮帮忙 谢谢啦!
执行CCakView * pView =(CCakView *)GetActiveView(); 会报CCakView没定义#include"CakView.h"又会报缺少';'之类的错误,查了下好像是因为头文件互相包含的缘故试了试在mainfrm.h里面前置声明class CCakView 的话
CCakView * pView =(CCakView *)GetActiveView();就没有错误了
但是执行 pView->fnucA();的话 又会报CCakView没定义!但是要是直接CView * pView= (CView *)GetActiveView();的话 ,应该无法访问到我在View里自定义的函数funcA()吧?请问牛人们 我在mainfrm里面怎样才能访问到那个func()啊!急啊~~分少大家帮帮忙 谢谢啦!
CCakView * pView =(CCakView *)GetActiveView();
是没问题的在CPP里面加上
#include"CakView.h"就可以了啊不知道你是哪里有问题
------------------------------
这个很好解决,你在你的view类的头文件上加上#include <CakDoc.h>或者class CCakDoc;即可
试了试在mainfrm.h里面前置声明class CCakView 的话
CCakView * pView =(CCakView *)GetActiveView();就没有错误了
但是执行 pView->fnucA();的话 又会报CCakView没定义!
但是要是直接CView * pView= (CView *)GetActiveView();的话 ,应该无法访问到我在View里自定义的函数funcA()吧?
请问牛人们 我在mainfrm里面怎样才能访问到那个func()啊!急啊~~分少大家帮帮忙 谢谢啦!
-----------------------------------------------
在框架类中访问视图类
SDI: ((CCakView*)GetActiveView())->func();
MDI: ((CCakView*)(GetActiveFrame()->GetActiveView()))->func();
或者这样:((CCakView*)(MDIGetActive()->GetActiveView()))->func();