注册 登录
编程论坛 VC++/MFC

MFC 单文档 多视图数据交互

windowswind 发布于 2012-09-12 14:01, 2022 次点击
我建的是一个单文档程序,继承的是listview类,然后在左边有一个CDockPanel,上面有一个treeview,我现在想要实现的是单击菜单上的一个按钮激活两个视图,然后listview上增加一个item,treeview上夜相应增加一个节点。
现在遇到的问题是程序启动时listview已经是活动的了,但treeview是不活动的,mainframe无法获取treeview的句柄。请问该如何实现?
3 回复
#2
windowswind2012-09-12 14:10
还有一个问题,单文档能同时存在多个活动的视图吗?如果用getactiveview怎么判断要得到哪个活动的视图?
#3
眼底星空2012-09-12 14:47
可以在创建TreeView的时候把它的指针传给Frame存下来。
或者用全局变量保存也行,不过不推荐。

用IsKindOf可以来判断活动视图是哪个:
CView* pView = GetActiveView();
if(pView->IsKindOf(RUNTIME_CLASS(CXXXView)))
{
  ....
}
#4
windowswind2012-09-12 17:30
回复 3楼 眼底星空
我已经解决了,就是用全局变量的方法 谢谢啊
1