События расширяемости

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

Если вашему макросу или надстройке нужно получить уведомление об определенном собы­тии, то для этого во всех ранее обсуждавшихся категориях объектов расширяемости под­держиваются различные объекты событий. Имеются события для окон, редакторов, проек­тов и т. д. Для каждого события (поддерживаемого интегрированной средой) соответ­ствующий класс модели расширяемости позволяет вам перехватить событие (и выполнить нужное действие в случае его возникновения). Объектное дерево событий имеет корень в свойстве DTE.Events (рис. 11.10).

Поскольку события обрабатываются по-разному (в зависимости от того; работаете ли вы с кодом настройки или кодом макроса), то описание подробностей обработки событий мы отложим до следующей главы. Однако основная идея очень проста: вы получаете ссылку на объект интересующего вас события, а потом пишете обработчик события, который реагиру­ет на одно из опубликованных событий объекта.

Например, следующий код мог бы быть обработчиком события "build complete" внутри над­стройки на языке Visual Basic:

Dim WithEvents bidevents As BuildEvents bldevents = DTE.Events.BuildEvents

После создания объекта BuildEvents вам нужно написать реальный обработчик события:

Private Sub bldevents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, _

ByVal Action As EnvDTE.vsBuildAction) Handles bldevents.OnBuildDone " Здесь должен быть код обработки события End Sub

Резюме
Стандартные окна инструментов и их базовый тип
Панель Toolbox
Выполнение команд в командном окне
Окно вывода

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


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

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