环境:VS2008 SP1 WIN7我想在 CMainFrame 里取得 当前激活 子窗口 的属性。
尝试用 CMDIFrameWnd *pFrame;
CMDIChildWnd *pChild;
CView *pView;
//获取主窗口指针
pFrame =(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
// 获取子窗口指针
pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
//获取视类指针
pView = pChild->GetActiveView();方式获得。但我要用的属性在CMYView里,并不是在CView 里,请问如何取得。
尝试用 CMDIFrameWnd *pFrame;
CMDIChildWnd *pChild;
CView *pView;
//获取主窗口指针
pFrame =(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
// 获取子窗口指针
pChild = (CMDIChildWnd *) pFrame->GetActiveFrame();
//获取视类指针
pView = pChild->GetActiveView();方式获得。但我要用的属性在CMYView里,并不是在CView 里,请问如何取得。
比如我在
CMYView 里定义了 CString strTemp;在CMainFrame里怎么取得当前激活的CMYView的指针呢?CView *pView;
pView = pChild->GetActiveView();这种方法定义的类是CView,而我要是CMYView才能取得吧?在CMainFrame里无法#include "MYView.h"
pView = (CMYView *)pChild->GetActiveView();
然后#include 相关的CMYView的头文件就行了。
无法在Mainfrm中引用……
引用就会出些莫名其妙的编译错误……(可能用莫名其妙不合适,但确实无法引用)
建立个MY的多文档项目,然后在MainFrm.cpp 里 #include "MYView.h"会出现1>e:\job\my\my\my\myview.h(18) : error C2143: 语法错误 : 缺少“;”(在“*”的前面)
1>e:\job\my\my\my\myview.h(18) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\job\my\my\my\myview.h(18) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\job\my\my\my\myview.h(18) : warning C4183: “GetDocument”: 缺少返回类型;假定为返回“int”的成员函数
错误