关于MFC编程问题,大家帮忙看看,谢谢
在DOC类中为什么我不能直接定义一个view类的对象或指针,来访问view类中变量的值呢?本人新手,求帮助,求解释...
在DOC类中为什么我不能直接定义一个view类的对象或指针,来访问view类中变量的值呢?本人新手,求帮助,求解释
展开
1个回答
展开全部
这里的设计有不少问题
1. MFC的Documen/View结构,是为了将数据和显示分离,很多时候,一份Doc可以关联好几个View,从Doc访问View,一般是要求View更新显示,但很少直接访问View中的数据。
2. 你在Serialize中希望访问View,这很难理解。因为这个函数是用来保存Doc中数据的,按照Doc/View的结构要求,任何需要保存的数据,都应该存放在Doc的类中,而不应该放在View的类中。
3. 即使要访问,应该采用GetFirstViewPosition/GetNextView,然后强制转换成你需要的View的类型进行访问。不知你为啥注释掉了。
1. MFC的Documen/View结构,是为了将数据和显示分离,很多时候,一份Doc可以关联好几个View,从Doc访问View,一般是要求View更新显示,但很少直接访问View中的数据。
2. 你在Serialize中希望访问View,这很难理解。因为这个函数是用来保存Doc中数据的,按照Doc/View的结构要求,任何需要保存的数据,都应该存放在Doc的类中,而不应该放在View的类中。
3. 即使要访问,应该采用GetFirstViewPosition/GetNextView,然后强制转换成你需要的View的类型进行访问。不知你为啥注释掉了。
更多追问追答
追问
被注释掉的那个是对的,我是想要知道,为什么不能再DOC类中,定义一个VIEW类的对象,然后由这个对象去访问其中的数据
ps:因为刚开始接触MFC,所以感觉很迷惑
追答
CGraphicView *pView; // 这里声明了一个指向view的指针
你需要将这个指针指向真正的实例,才能数据访问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询