倾全部财产求助一个简单问题!如何得到MDI的当前view和当前doc

yzihe 2004-05-06 01:03:34
我用法:
我在一个全局函数中调用MyView类的一个函数 func();
void MyView::func()
{
CMyDoc* pDoc = GetDocument();
}
但是assert 弹出错误
如何得到MDI的当前view和当前doc

请将用法讲的详细点,如果能实现
全部分送出

...全文
18 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
countryboy 2004-05-06
CTestDoc* CTestView::GetDocument()
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTestDoc)));
return (CTestDoc*)m_pDocument;
}

((CFrameWnd*) AfxGetApp()->m_pMainWnd)->MDIGetActive()
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()
((CFrameWnd*) AfxGetApp()->m_pMainWnd))->GetActiveDocument()
  • 打赏
  • 举报
回复
xdljf 2004-05-06
同意楼上
  • 打赏
  • 举报
回复
czn 2004-05-06
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()
((CFrameWnd*) AfxGetApp()->m_pMainWnd))->GetActiveDocument()
  • 打赏
  • 举报
回复
snowx 2004-05-06
默认的是CView的
  • 打赏
  • 举报
回复
snowx 2004-05-06
agree waterspirit
GetDocument()
  • 打赏
  • 举报
回复
waterspirit 2004-05-06
assert出错是因为你没有在CMyDoc类中实现对document的重载。
CMyDoc* CmyView::GetDocument()
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}

((CFrameWnd*) AfxGetApp()->m_pMainWnd)->MDIGetActive()
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()
((CFrameWnd*) AfxGetApp()->m_pMainWnd))->GetActiveDocument()
  • 打赏
  • 举报
回复
ohbaby 2004-05-06
同意 sgnaw(李逍遥)
  • 打赏
  • 举报
回复
red-fly 2004-05-06
先得到view,再得到doc
CxxxDoc *pDoc = pView->GetDocument();
  • 打赏
  • 举报
回复
red-fly 2004-05-06
CxxxDoc *pDoc = GetDocument();
  • 打赏
  • 举报
回复
subtop 2004-05-06
http://expert.csdn.net/Expert/topic/3018/3018029.xml?temp=.3317835

其实有几种方法可以实现你所描述的功能
1、采用sgnaw(李逍遥) 兄的方法
2、你可以定义一个全局的CMyView* 变量来保存你的视图
采用哪种,就看你的具体问题了
  • 打赏
  • 举报
回复
王国凡 2004-05-06
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()
((CFrameWnd*) AfxGetApp()->m_pMainWnd))->GetActiveDocument()

  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-06 01:03
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……