2015-10-27 4 views
0

Я использую IWebBrowser2 interface для рендеринга IE-страницы внутри окна. Мне нужно показать окна пользователю, как только всякая вещь будет визуализирована. Теперь я использую событие DocumentComplete, чтобы позвонить ShowWindow function. Но фактическое содержимое отображается после начального серого экрана, за которым следует белая задержка экрана. Мне нужно показать окно, чтобы пользователь избегал этих экранов.Окно отображения IWebBrowser2 после завершения рендеринга

Любая помощь приветствуется.

ответ

0

Вам необходимо подключить приемник DWebBrowserEvents. Это отправляет уведомление DocumentComplete, которое должно быть хорошим намеком на то, что документ готов к отображению.

Для этого сначала реализуйте DWebBrowserEvents2 как объект на основе IDispatch. Затем запросите объект WebBrowser для интерфейса IConectionPointContainter. Попросите, чтобы через FindconnectionPoint для интерфейса IConnectionPoint для DIID_DWebBrowserEvents2, а затем позвоните в Совет, пропустите реализацию этого интерфейса отправки.

+0

Я использую событие DocumentComplete (https://msdn.microsoft.com/en-us/library/aa768282 (v = vs.85) .aspx). (Извините, я пропустил эту часть, когда вопрос был отправлен. Отредактировано сейчас) –

+0

Вы вызываете UpdateWindow сразу после ShowWindow - сообщение WM_PAINT имеет низкий приоритет, поэтому любая другая обработка, которая находится в очереди, может вызвать видимую задержку между отображением окна и его первой краской. UpdateWindow заставляет немедленную краску. –

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

  • Нет связанных вопросов^_^