假如我在一个对话框中想存取在Docment类中的变量 该怎么做阿?如果想存取View类中的变量 又该怎么办啊?弹出对话框的父窗口一般是什么阿?为什么我用下面的语句:
CStudentSet* m_pSetS=(CDataProjectView*)GetParent()->GetDocument()->GetStudentSet();
提示我CDataProjectView未声明但是 我一在上面加入#include "DataProjectView.h" 就会有很多莫名其妙的问题出来?VC中关于头文件的include有什么约定啊?我搞的头都昏了!
CStudentSet* m_pSetS=(CDataProjectView*)GetParent()->GetDocument()->GetStudentSet();
提示我CDataProjectView未声明但是 我一在上面加入#include "DataProjectView.h" 就会有很多莫名其妙的问题出来?VC中关于头文件的include有什么约定啊?我搞的头都昏了!
1. include 应在.CPP中 不是在.H中
2. 拼写是否错误
3.
GetDocument() 返回的是文档指针,怎么会是视图指针?你要获得视图指针不必通过文档获得视图
你试试不用#include "DataProjectView.h"
而用Class DataProjectView;
我想你一定是在响应菜单之类的消息(Document或View类中处理)时弹出对话框,
其实你可以在Domodal之前把
Document中的Dataset传给你的CDialog类,
这样就不存在文件包含的问题:
做法:
1,CStudentSet* m_pSetS 定义为你的Dialog的成员变量;
2,在Domodal()之前赋值:
××Dialog.m_pSetS == (CDataProjectView*)GetDocument()->GetStudentSet();
我采用了你的方法,现在问题是解决了
但是我想问一下 为什么我在include头文件时经常遇到一些很奇怪的问题
你说“你一定是在响应菜单之类的消息(Document或View类中处理)时弹出对话框,”,那么在处理这种问题时,要注意些什么呢? 谢谢