Поделиться через


Образец ATLEventHandling: обработка событий Word с помощью классов IDispEventImpl и IDispEventSimpleImpl

Обновлен: Ноябрь 2007

В образце ATLEventHandling показано использование классов IDispEventImpl и IDispEventSimpleImpl для обработки сообщений, создаваемых Microsoft Word.

Образец состоит из проекта ATL, в которых входят два COM-класса: CSimple и CNotSoSimple. Эти классы представляют COM-объекты, которые выводят сообщение в ответ на события изменения документа, создаваемые Microsoft Word. Класс CSimple показывает, как обрабатывать события с использованием шаблона класса ATL IDispEventSimpleImpl, а класс CNotSoSimple показывает обработку событий с использованием шаблона класса ATL IDispEventImpl. Код в этих двух классах идентичен за исключением различий, обусловленных использованием различных шаблонов библиотеки ATL.

e85w507k.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

e85w507k.alert_note(ru-ru,VS.90).gifПримечание.

Для этого образца необходимо установить Microsoft Office 2000. Чтобы использовать этот образце с другими версиями Microsoft Office, необходимо указать путь к файлу mso dll, на который ссылается файл StdAfx.h, в каталоге ATLEventHandling. Например, для Office 2000 используется файл mso9.dll, а для Office XP — mso.dll.

Построение и запуск этого образца

  1. Откройте файл решения ATLEventHandling.sln.

  2. В случае использования Excel 2000 измените следующую строку в файле StdAfx.h:

    #define OFFICE_VER OFFICEXP
    

    на следующую строку:

    #define OFFICE_VER OFFICE2000
    
  3. В меню Построение выберите команду Построить решение.

  4. Запустите файл MFCClient.exe.

Появится диалоговое окно с раскрывающимся списком, который позволяет запустить тест с использованием класса IDispEventImpl или IDispEventSimpleImpl. Выберите один из этих элементов и нажмите кнопку Start. Если на компьютере установлено приложение Microsoft Word, будет загружен новый экземпляр, и тестовый компонент начнет получать события, отправляемые Word в случае изменений активного документа.

События можно вызывать путем создания новых документов, загрузки документов или переключения к другому документу с помощью меню Окно в Word. Каждый раз при изменении документа будет выводиться сообщение, где показывается, какой компонент получает события, и имя нового активного документа. Можно отключить обработчик событий от экземпляра Word, нажав кнопку Stop в диалоговом окне MFCClient, изменив выбор в раскрывающемся списке или закрыв приложение Word.

Закройте образец приложения, нажав кнопку ОК или Отмена либо кнопку Закрыть диалогового окна.

Ключевые слова

В этом образце используются следующие ключевые слова:

_ATL_FUNC_INFO, BEGIN_SINK_MAP, END_SINK_MAP, SINK_ENTRY_EX, SINK_ENTRY_INFO, IDispEventImpl, IDispEventSimpleImpl, IDispEventSimpleImpl::DispEventAdvise, IDispEventSimpleImpl::DispEventUnadvise

См. также

Другие ресурсы

Образцы ATL