OnClose от COleControl переопределяется, но никогда не запускалось

Я пишу элемент управления ActiveX для веб-страницы, используя MFC. Когда проводник закрывается, некоторый ресурс должен быть освобожден ПЕРЕД разрушением главного окна элемента управления. Я сделал некоторый поиск и обнаружил, что переопределено COleControl::OnClose(DWORD dwSaveOption) Функция должна быть хорошим местом, чтобы сделать работу освобождения. Поэтому я сделал следующие изменения в своем коде:

  1. Добавьте следующую строку в объявление моего элемента управления в заголовочном файле:

    виртуальная пустота OnClose (DWORD dwSaveOption);
  2. Добавьте следующие строки в файл реализации моего элемента управления:

    void MyControl :: OnClose (DWORD dwSaveOption)
    {
    // некоторый код, выполняющий задание
    COleControl :: OnClose (dwSaveOption);
    }
    

Я думаю, что при закрытии проводника MyControl :: OnClose должен выполняться, но это не так. Я что-то упустил, чтобы корректно переопределить функцию, или функция OnClose не подходит для этого?

4

Решение

Я лично переопределяю COleControl::OnDestroy() для очистки. Вы пропускаете какой-либо регистрационный звонок приемника событий, чтобы включить Закрыть? Или запись карты отправки?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]