在网上看到视图类之间的通信大多是单文档,项目中用到多文档多视图消息通信,所以对代码进行了改进,实现了两个关联不同文档的视图的通信。
基本思路(A发送B接收):
1. 在A视图中通过theApp中的CMultiDocTemplate*指针获得B视图文档指针
用到方法(未加参数,下同): CMultiDocTemplate::GetFirstDocPosition()
CMultiDocTemplate::GetNextDoc()
2. 在B文档中添加获取当前视图的自定义函数GetView,获取B视图指针
用到方法:CDocument::GetFirstView()
3. 通过1中获得的B文档指针调用2中创建的函数,获得B视图指针,并向B视图发送消