Проблема с фокусом в Web control
От: FireGuard Россия  
Дата: 03.05.06 11:49
Оценка:
Может кто-нибудь из знающих объяснить, почему если в контроле браузера отображать страницу через IWebBrowser2::Navigate2, то контрол не перехватывает на себя фокус, а если страницу отображать через связку IHTMLDocument2::write — close, то close после отображения страницы перехватывает на себя фокус?
Причем перехват фокуса производится только после того, как хотя бы один раз кликнуть мышой в окно, содержащее контрол браузера.
Иными словами, как сделать чтобы close фокус не изменял?
Запоминать просто прежний фокус и возвращать его после close не катит, т.к. в моем приложении это вызывает очень неприятные мелькания окошек.
Re: Проблема с фокусом в Web control
От: Mechanic55  
Дата: 23.05.08 12:20
Оценка:
Здравствуйте, FireGuard, Вы писали:

FG>Может кто-нибудь из знающих объяснить, почему если в контроле браузера отображать страницу через IWebBrowser2::Navigate2, то контрол не перехватывает на себя фокус, а если страницу отображать через связку IHTMLDocument2::write — close, то close после отображения страницы перехватывает на себя фокус?

FG>Причем перехват фокуса производится только после того, как хотя бы один раз кликнуть мышой в окно, содержащее контрол браузера.
FG>Иными словами, как сделать чтобы close фокус не изменял?
FG>Запоминать просто прежний фокус и возвращать его после close не катит, т.к. в моем приложении это вызывает очень неприятные мелькания окошек.

Столкнулся с такой же проблемой. У меня по пробегу по строкам грида меняется содержимое IHTMLDocument2. Стоит хоть раз кликнуть в окно это и все... приехали. Начинает фокус на себя перетягивать после каждой загрузке html...

Подскажите, пожалуйста... Наверняка есть здесь решение простое.
Re[2]: Проблема с фокусом в Web control
От: FireGuard Россия  
Дата: 23.05.08 12:30
Оценка:
Здравствуйте, Mechanic55, Вы писали:

M>Столкнулся с такой же проблемой. У меня по пробегу по строкам грида меняется содержимое IHTMLDocument2. Стоит хоть раз кликнуть в окно это и все... приехали. Начинает фокус на себя перетягивать после каждой загрузке html...


M>Подскажите, пожалуйста... Наверняка есть здесь решение простое.


Я решил эту проблему просто — блокирую окно на время вызова close:

//Нужна предварительная блокировка окна,
//иначе close перехватывает фокус на контрол браузера.
EnableWindow(FALSE);

hr = spDoc->close();

EnableWindow(TRUE);
Re[3]: Проблема с фокусом в Web control
От: Mechanic55  
Дата: 23.05.08 12:48
Оценка:
Здравствуйте, FireGuard, Вы писали:

FG>Здравствуйте, Mechanic55, Вы писали:


M>>Столкнулся с такой же проблемой. У меня по пробегу по строкам грида меняется содержимое IHTMLDocument2. Стоит хоть раз кликнуть в окно это и все... приехали. Начинает фокус на себя перетягивать после каждой загрузке html...


M>>Подскажите, пожалуйста... Наверняка есть здесь решение простое.


FG>Я решил эту проблему просто — блокирую окно на время вызова close:


FG>//Нужна предварительная блокировка окна,

FG>//иначе close перехватывает фокус на контрол браузера.
FG>EnableWindow(FALSE);

FG>hr = spDoc->close();


FG>EnableWindow(TRUE);


Спасибо большое! Действительно простое решение...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.