社区
ATL
帖子详情
WTL中如何把消息发送到ActiveX控件窗口
Dnkuni
2011-10-24 02:23:41
WTL程序在创建ActiveX控件的时候会先创建一个"AtlAxWin"窗口,然后再其中创建控件。就是说控件是这个AtlAxWin的子窗口,使用GetDlgItem获得的时外面包容窗口的句柄,请问如何将消息发送给里面的控件窗口?
...全文
137
5
打赏
收藏
WTL中如何把消息发送到ActiveX控件窗口
WTL程序在创建ActiveX控件的时候会先创建一个"AtlAxWin"窗口,然后再其中创建控件。就是说控件是这个AtlAxWin的子窗口,使用GetDlgItem获得的时外面包容窗口的句柄,请问如何将消息发送给里面的控件窗口?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dnkuni
2011-10-24
打赏
举报
回复
[Quote=引用 4 楼 redui 的回复:]
跟WTL/ATL的AtlAxWin窗口作为容器一样,MFC也需要容器窗口,只不过都封装好了,每个CWnd都可以是容器窗口。
控件窗口的消息是直接响应的,为什么还要转发呢?如果真有一些东西需要传递给控件,在控件接口里面增加相应的方法更简单,没必要通过消息方式。实在要通过消息,搜索容器窗口的子窗口,或者通过控件的IOleInPlaceObject::GetWindow得到窗口句柄,或者在控件接口里……
[/Quote]
谢谢啦。IOleInPlaceObject::GetWindow就是我要的。原来我用的是::GetWindow(hWnd, GW_CHILD);但总觉得不是很好。
redui
2011-10-24
打赏
举报
回复
跟WTL/ATL的AtlAxWin窗口作为容器一样,MFC也需要容器窗口,只不过都封装好了,每个CWnd都可以是容器窗口。
控件窗口的消息是直接响应的,为什么还要转发呢?如果真有一些东西需要传递给控件,在控件接口里面增加相应的方法更简单,没必要通过消息方式。实在要通过消息,搜索容器窗口的子窗口,或者通过控件的IOleInPlaceObject::GetWindow得到窗口句柄,或者在控件接口里增加自己的方法返回句柄。
Dnkuni
2011-10-24
打赏
举报
回复
为什么WTL要加这个包容窗口而mfc却不用呢?
Dnkuni
2011-10-24
打赏
举报
回复
试过了,我用Spy++看了,AtlAxWin收到消息,但没把消息转发给控件窗口
珍惜生命远离CPP
2011-10-24
打赏
举报
回复
直接发到AtlAxWin窗口试试
我记得activeX是直接使用AtlAxWin这个窗口的。
wtl
浏览器
控件
的使用
该源码是
WTL
框架下的,
wtl
web browser。希望对大家有所帮助。 谢谢大家支持。
MFC程序员的
WTL
,第六部分-托管
ActiveX
控件
有关在
WTL
对话框
中
托管
ActiveX
控件
的教程。
wtl
浏览器
控件
使用
wtl
框架下的WEB浏览器
控件
的使用源码。MFC源码很多,但是
WTL
的就很少了,希望能够对大家有所帮助。
WTL
for MFC Programmers
中
英文
WTL
for MFC Programmers
中
英文
WTL
指南(chm电子书且含源码)
1、
WTL
经典学习、自学指南,chm电子书; 2、包里含有指南里的所有实例源码;
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章