Обработка событий

Оценить
(1 голос)

Мы описали отдельные классы событий в главе 11 каждое событие интегрированной среды доступно через эти классы автоматизации. Для обработки события в макросе вам нужно иметь две вещи: определение события и обработчик события.

Каждый макропроект имеет по умолчанию модуль EnvironmentEvents. Этот модуль создается для вас автоматически каждый раз, когда вы создаете новый макропроект; он реализует определения событий для многих событий автоматизации. Если вам нужно об­работать любую из следующих категорий событий, то об определении событий за вас уже позаботились:

основные события DTE;

□    события документов;

□    события окон;

□    события Task List;

□    события поиска;

□    события окна вывода;

□    события выделения;

□    события сборки;

□    события решения;

□    события элементов решения;

□    события файлов;

□    события отладчика;

□    события проекта;

□    события нажатий на клавиши;

□    события модели кода.

В листинге 12.3 показан исходный код EnvironmentEvents (сгенерированный Visual Studio), который отвечает за реализацию этих определений событий.

Option Strict Off Option Explicit Off Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics

Public Module EnvironmentEvents

#Region "Automatically generated code, do not modify"

*    Автоматически сгенерированный код, не модифицировать. ' Начало исходников событий.

<Sy5tem.ContextStaticAttribute()> _

Public WithEvents DTEEvents As EnvDTE.DTEEvents

<System.ContextStaticAttribute()> _

Public WithEvents DocumentEvents As EnvDTE.DocumentEvents

<System.ContextStaticAttribute()> _

Public WithEvents WindowEvents As EnvDTE.WindowEvents <System.ContextStaticAttribute()> _

Public WithEvents TaskListEvents As EnvDTE.TaskListEvents

<Sys.tem. ContextStaticAttribute () > _

Public WithEvents FindEvents As EnvDTE.FindEvents

<System.ContextStaticAttribute()> _

Public WithEvents OutputWindowEvents As EnvDTE.OutputWindowEvents <System.ContextStaticAttribute()> _

Public-WithEvents.SelectionEvents As EnvDTE.SelectionEvents

<System.ContextStaticAttribute()> _

Public WithEvents BuildEvents As EnvDTE.BuiIdEvents

<System.ContextStaticAttribute()> _

Public WithEvents SolutionEvents As EnvDTE.SolutionEvents <System.ContextStaticAttribute()> _

Public WithEvents SolutionltemsEvents As EnvDTE.ProjectltemsEvents

<System.ContextStaticAttribute()> _

Public WithEvents MiscFilesEvents As EnvDTE.ProjectItemsEvent-s <System.ContextStaticAttribute()> _

Public WithEvents DebuggerEvents As EnvDTE.DebuggerEvents <System.ContextStaticAttribute()> _

Public WithEvents ProjectsEvents As EnvDTE.ProjectsEvents

<System.ContextStaticAttribute()> _

Public WithEvents TextDocumentKeyPressEvents As EnvDTE80.TextDocumentKeyPressEvents

<System.ContextStaticAttribute()> _

Public WithEvents CodeModeIEvents As EnvDTE80.CodeModelEvents

<System.ContextStaticAttribute()> _

Public WithEvents DebuggerProcessEvents As EnvDTE80.DebuggerProcessEvents

<System.ContextStaticAttribute()> _

Public WithEvents DebuggerExpressionEvaluationEvents As EnvDTE80.DebuggerExpressionEvaluationEvents ' Конец исходников событий.     N

' Конец автоматически сгенерированного кода.

#End Region

End Module

Пишем обработчик события
Добавление нового объявления события
Инициализируем объект события
Запуск макросов
Присваивание макросам клавиатурных комбинаций

Добавить комментарий


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.