在MFC单文档程序中,怎样由子窗口控件调用父窗口中的控件

在MFC单文档应用中,子窗口控件需要调用父窗口对象或控件时,可以通过接口查询方法实现。例如在ArcEngine开发中,当自定义TreeControl需要与MapControl同步时,可以先获取主框架对象CMainFrame,再获取活动视图CView,然后找到MapControl的父窗口CWnd,通过QueryInterface获取IMapControl2接口,从而操作MapControl。
摘要由CSDN通过智能技术生成

在MFC单文档应用程序中,我们经常需要在子窗口的事件响应函数中调用父窗口对象或其中的控件变量,一个典型的例子就是,在ArcEngine开发(C++语言)中,我们常常用自定义的TreeControl代替ArcEngine中的TOCControl控件,但是这样就不能与MapControl设置伙伴控件了。那么,当左侧的TreeControl发生改变需要右边的MapControl控件同步响应时,该怎么办呢?


     比较容易想到的是,在视图类View中添加自定义消息来响应。当然这是完全可以的:http://blog.sina.com.cn/s/blog_4a1695ff0100ckgo.html

    我要说的另一种办法就是采用接口查询方法,直接在子窗口中调用父窗口中的控件对象:

/**********子窗口调用父窗口控件对象,加载Mxd文件**********/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值