我正在使用MFC为网页编写ActiveX控件。当资源管理器关闭时,需要在控件的主窗口被销毁之前释放一些资源。我做了一些搜索,发现被覆盖的COleControl::OnClose(DWORD dwSaveOption)
函数应该是一个发布工作的好地方。所以我对我的代码进行了以下更改:
将以下行添加到头文件中的控件声明中:
virtual void OnClose(DWORD dwSaveOption);
将以下行添加到我的控件的实现文件中:
void MyControl::OnClose(DWORD dwSaveOption) { // some code that do relesing job COleControl::OnClose(dwSaveOption); }
我认为在关闭资源管理器时,MyControl :: OnClose应该被执行,但事实并非如此。我是否错过了正确覆盖函数的任何内容,或者OnClose函数不适合这样做?
答案 0 :(得分:0)
我个人覆盖COleControl::OnDestroy()
进行清理。您是否缺少某种事件接收器注册调用以启用关闭?还是调度图条目?