2012-04-30 2 views
3

Я очень новичок в VS Addins.Visual Studio Addin: Как узнать, получил ли уже открытый документ фокус?

Хотя, я подписался на DocumentEvent.DocumentOpened. Но, кроме того, мне нужно определить, получил ли уже открытый документ фокус, и тогда я буду читать его содержимое.

Как получить свое сосредоточенное состояние?

Благодаря

Фаррух

ответ

2

К счастью, после игры некоторые примеры кода, я получил то, что я хочу. Фактически это EnvDTE.WindowEvents.

В VS IDE каждый документ кода также является окном. И это событие Focus: WindowActivated. Вот мой делегат подписаться на это событие:

WinEvents.WindowActivated += new _dispWindowEvents_WindowActivatedEventHandler(WinEvents_WindowActivated); 

void WinEvents_WindowActivated(Window GotFocus, Window LostFocus)   
{    
    Debug.WriteLine("GotFocus: " + GotFocus.Caption);    
    //throw new NotImplementedException();   
} 

С уважением

Фаррух