4

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

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

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

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

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

4

1 回答 1

0

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

于 2013-04-30T23:25:37.867 回答