• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > ATL窗口派生问题

ATL窗口派生问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了atl34砂轮,atl方形动力电池,atl80.dll官方下载,atl71.dll一键修复,atl71.dll修复等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL窗口派生问题
描述:

有一个类从CAxWindow派生,作为一个Frame窗口的子窗口:
class CNoteBookView : public CWindowImpl<CNoteBookView, CAxWindow>,
public IDispEventSimpleImpl<1, CNoteBookView, &DIID_DWebBrowserEvents2>
{
   ......
   BEGIN_SINK_MAP(CNoteBookView)
SINK_ENTRY_INFO(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete, &infFunc1)
   END_SINK_MAP()
   HWND Create(HWND hWndParent, ...);
   ......
}
在Create函数中调用DispEventAdvise挂接DWebBrowserEvents2事件,但不知在哪里调用DispEventUnadvise合适,在WM_DESTROY时,内部的IWebBrowser2控件已经被销毁了,而WM_CLOSE消息根本接收不到


解决方案1:

WM_CLOSE接不到是正常的,因为CAxWindow并不是像CWnd一样的窗口类,它只是创建了一个AtlAxWin71窗口类的实便,然后这个类的窗口函数自已又把这个窗口子类化给CAxHostWindow,以后的窗口消息都是由这个类来处理的,你可以看一看ATL源代码

解决方案2:

感决有些不合理
在WM_DESTROY时,内部的IWebBrowser2控件已经被销毁了
为什么要销毁他, 应该是内部的东西都释放了,才销毁窗口
把你的销毁代码贴出来,这里有问题


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ATL怎么实现可变参数的接口?
  • 怎样用ATL写一个含有其它组件的进程外COM
  • ATL7中加入socket的头文件编译出错
  • 在ATL工程MFC窗口调用Create失败(注:我的ATL工程支持MFC)
  • ATL正则表达式验证遇到中文出现异常!
  • 关于ATL做复合控件的问题
  • [讨论]ATL中的文本字符串,我该定义为什么类型
  • ATL开发指南第2版为什么所有的书店都没有卖的?电子版也没有
  • 大家一般都怎么打包Atl开发的ActiveX控件?
  • 求ATL解决方案

相关文章

  • 2017-06-04 如何初始化IUpdateColletion指针?
  • 2017-06-04 如何实现用鼠标编辑控件的形状
  • 2017-06-05 关于BOOL和bool两种数据类型的总结!
  • 2017-06-05 ATLService程序vs2010
  • 2017-06-04 怎样在控件中加入CTreeCtrl对象?
  • 2017-06-05 请问怎样获得进程的CPU占用情况,内存使用情况!
  • 2017-06-04 关于dsoframer与ppt播放问题,哪位大侠能解?
  • 2017-06-04 有关BCB中DCOM编程中STUB/PROXY的问题-请大家讨嫩讨嫩!
  • 2017-06-04 ATL向导生成SDI程序中OnClose函数的问题
  • 2017-06-04 谁有潘爱民<<COM原理与应用>>一书源代码?高分相酬

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于容器的问题
    • 初学多线程,高分请教一个多线程的问题!!!
    • 各位大哥谁可以帮我啊?愿意把所有的分送给您。。。。。。。。。
    • 怎样在对话框中插入IE控件,来显示网页
    • comdll在作为activex控件使用时,为何只暴露其中一个默认接口的方法
    • 谁有《ATL开发指南》一书
    • 关于自定义控件的问题
    • IE8中ocx里打开子窗口跑到后面去了,求助高手!
    • 一个关于强读密码框的问题!!!(在线等待!!!
    • 在vc怎么样操作PowerPoint?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有