MFC MDI GetActiveView 总是NULL

为什么我在VC++多文档MDI编程中调用GetActiveView得到的总是NULL?我是在我自己的CPP里调用的... 为什么我在VC++多文档MDI编程中调用GetActiveView得到的总是NULL?我是在我自己的CPP里调用的 展开
 我来答
bhtzu
2014-02-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4263万
展开全部
你要先看获取的子框架窗口指针是否为NULL,注意MDI中要使用函数MDIGetActive获取子框架。
AfxGetMainWnd()->MDIGetActive()->GetActiveView()
这是全局获取MDI当前视图窗口的标准方法(需要根据你的类名做强制转换),如果最后获取为NULL,那么把语句拆开,一个一个看,哪个获取为NULL。
另外,检查一下,是不是根本就没有当前激活子窗口视图,这个也是可能的原因。
更多追问追答
追问
子框架不是空,我就是不知道有没有激活视图,怎么样才算激活视图啊
追答
如果有Active的子窗口,激活视图也肯定是有的。
建议你,先分析一下具体是哪里的问题吧,如果是线程,先不在线程里面获取,先在CMainFrame或者App的某个菜单响应函数中进行测试,这样能看出是线程造成的还是获取函数使用的问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式