在MFC单文档应用程序中,我们经常需要在子窗口的事件响应函数中调用父窗口对象或其中的控件变量,一个典型的例子就是,在ArcEngine开发(C++语言)中,我们常常用自定义的TreeControl代替ArcEngine中的TOCControl控件,但是这样就不能与MapControl设置伙伴控件了。那么,当左侧的TreeControl发生改变需要右边的MapControl控件同步响应时,该怎么办呢?
比较容易想到的是,在视图类View中添加自定义消息来响应。当然这是完全可以的:http://blog.sina.com.cn/s/blog_4a1695ff0100ckgo.html。
我要说的另一种办法就是采用接口查询方法,直接在子窗口中调用父窗口中的控件对象:
/**********子窗口调用父窗口控件对象,加载Mxd文件**********/