关于获取view类指针的问题

lamecoder 2007-05-18 09:12:36
我在一个SDI工程中,新建一个窗口,其中有如下语句:
CNewFrame* pFrame = new CNewFrame();
CCreateContext Context;
CComprehensiveDoc* docObj=new CComprehensiveDoc;
Context.m_pCurrentDoc=docObj;
Context.m_pNewViewClass=RUNTIME_CLASS(CEditView);
//.............
然后在CNewFrame::OnExport()函数中用:
CEditView* pView=(CEditView*)GetActiveView();
却无法获得该view类的指针,这是为什么呢?应该怎么办呢?
...全文
255 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tozheng 2007-05-21
  • 打赏
  • 举报
回复
看看void CFrameWnd::InitialUpdateFrame(CDocument* pDoc, BOOL bMakeVisible)这个函数
tozheng 2007-05-18
  • 打赏
  • 举报
回复
因为还不是活动窗口,这时pView为NULL
ouyh12345 2007-05-18
  • 打赏
  • 举报
回复
CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild =
(CMDIChildWnd *) pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child
// window.
CMyView *pView = (CMyView *) pChild->GetActiveView();

GetActiveView不是CNewFrame的成员函数吧
lamecoder 2007-05-18
  • 打赏
  • 举报
回复
啊?我忘了说,CNewFrame是我从CFrameWnd继承的窗口类,所以是有GetActiveView()函数的,而且我是单文档工程,所以不会用MDIGetActive这样的函数吧。
to tozheng:OnExport()是CNewFrame类的菜单项的一个响应函数,所以调用是已经是活动窗口了。
问题没有说清楚,不好意思。那我要怎样才能获得view类的指针呢?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧