【问题标题】:COleControl's OnClose is overridden, but never been firedCOleControl 的 OnClose 被覆盖,但从未被解雇
【发布时间】:2012-11-18 09:11:32
【问题描述】:

我正在使用 MFC 为网页编写 ActiveX 控件。当资源管理器关闭时,需要在控件的主窗口被销毁之前释放一些资源。我进行了一些搜索,发现重写的COleControl::OnClose(DWORD dwSaveOption) 函数应该是进行发布工作的好地方。所以我对我的代码做了以下更改:

  1. 将以下行添加到头文件中我的控件的声明中:

    虚空 OnClose(DWORD dwSaveOption);
  2. 将以下行添加到我的控件的实现文件中:

    无效 MyControl::OnClose(DWORD dwSaveOption) { // 一些做发布工作的代码 COleControl::OnClose(dwSaveOption); }

我认为关闭资源管理器时,应该执行 MyControl::OnClose,但事实并非如此。我是否错过了正确覆盖该函数的任何内容,或者 OnClose 函数不是执行此操作的正确位置?

【问题讨论】:

    标签: c++ mfc activex


    【解决方案1】:

    我个人覆盖COleControl::OnDestroy() 进行清理。您是否缺少某种事件接收器注册调用以启用关闭?还是调度地图条目?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 1970-01-01
      • 2012-02-07
      • 2011-06-21
      • 1970-01-01
      • 2013-03-25
      • 2018-11-04
      相关资源
      最近更新 更多