转自:https://blog.csdn.net/Robin__Chou/article/details/49963575
分割后窗口之间怎么通信?怎么进行相互数据交互?如果不能管理好分割的窗口,很容易使得程序的框架变得混乱。给维护和升级带来很大的麻烦。这个有过相关痛苦经历的人肯定有切身的体会。首先试图窗口都在CMainFrame类中进行创建的,CMainFrame类的对象指针也是很容易获取的。那么我们就可以再CMainFrame类中记录所有视图窗口的对象指针,然后通过访问CMainFrame类的成员来对我们想要交互的窗口进行操作。这样就很好的解决了这个问题,也使得在修改窗口分割后不用大量的去修改原来的视图窗口的代码。具体做法:
在CMainFrame类中添加成员。
然后在分割窗口后就用创建好的成员指向关联的窗口。
这样在视图窗口中就可以直接一句代码就可以访问到想访问的类了:
((CMainFrame*)AfxGetMainWnd())
((CMainFrame*)AfxGetMainWnd())->你想访问的视图