2016-12-13 4 views
0

Мой плагин outlook (FormRegion) вставляет текст в тело письма по требованию (пользователь нажимает кнопку) - текст вставляется функцией «InsertAfter» (Range's) функция). После щелчка фокус находится на кнопке, поэтому пользователю нужно щелкнуть обратно в редакторе, чтобы продолжить запись.Плагин Outlook (VSTO) - Установите фокус обратно в редактор после функции диапазона. InsertAfter

Как настроить фокус обратно в редактор?

спасибо.

ответ

0

После попытки всех возможных решений я заметил, что тело письма теряет фокус при запуске новой формы сообщения и когда закрывается - фокус возвращается к телу почты.

Так что я придумал какое-то грязное обходное решение - я создал новую форму с непрозрачностью 0%, которая закрывается через несколько миллисекунд, таким образом, центр сразу возвращается к телу почты.

грязный, но хорошо работает.

0

Вы можете попробовать использовать метод Activate класса Document из объектной модели Word.

Или просто используйте функцию SetFocus, которая устанавливает фокус клавиатуры в указанное окно. Окно должно быть прикреплено к очереди сообщений вызывающего потока.

Функция SetFocus отправляет сообщение WM_KILLFOCUS в окно, которое теряет фокус клавиатуры и сообщение WM_SETFOCUS в окно, которое получает фокус клавиатуры. Он также активирует либо окно, получающее фокус, либо родительский элемент окна, которое получает фокус.

+0

К сожалению, никто не работал. Я пробовал: | editor.Application.Activate(); | editor.Activate(); | myInspector.Application.ActiveInspector() ModifiedFormPages ("Message") управления ("Message") SetFocus()...; | IntPtr hWnd = FindWindow («_WwG», «Сообщение»); & SetFocus (hWnd) -> Caption & class, полученный от Spy ++ Не повезло. – Shushi

0

Вам нужно будет найти HWND элемента управления редактора и вызвать SetActiveWindow/SetFocus/ShowCaret Функции Windows API. Все становится намного интереснее, если у вас заканчивается не-proc (не в вашем случае).

Если используется Redemption, то он предоставляет объект SafeInspector и метод SafeInspector.FocusEditor.

Смежные вопросы