Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Передать фокус TWebBrowser

Delphi , Интернет и Сети , Браузер

Передать фокус TWebBrowser

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  Jeder der mal TWebBrowser.SetFocus ausprobiert hat, 
  musste feststellen, dass der Fokus nicht auf das Webbrowser 
  Dokument (eine Webseite) setzt, sondern auf das Webbrowser Control, 
  was uns nicht gerade viel bringt. 
  Hier werden zwei Moglichkeiten beschrieben, wie man den Fokus auf 
  die "Webseite" (d.h Dokument des Webbrowser) setzen kann. 
{ 

{ 
  Anyone that has worked with TWebBrowser knows that the 
  TWebBrowser.SetFocus procedure doesn't set focus on the "web page", 
  but rather on the control itself, which doesn't do us a whole lot of good. 
  Here are two possibilities to set the focus on the "web page" (i.e., document): 
}


 uses
   ActiveX;

 begin
   WebBrowser1.Navigate('irgendeinedatei.html');
   with WebBrowser1 do
   if Document <> nil then
     with Application as IOleobject do
       DoVerb(OLEIVERB_UIACTIVATE, nil, WebBrowser1, 0, Handle,
         GetClientRect);
 end;

Код-снippet написан на Delphi и предназначен для установки фокуса на документ TWebBrowser-контроля (т.е., веб-страницу) вместо самого контрола.

Вот что код делает:

  1. Он навигирует компонент WebBrowser1 к конкретному файлу HTML ('irgendeinedatei.html').
  2. Затем он проверяет, не является ли свойство Document компонента WebBrowser1 nil.
  3. Если документ существует, код использует объект Application как IOleobject, что позволяет взаимодействовать с ActiveX-контролем.
  4. Код вызывает метод DoVerb на интерфейсе IOleobject, указывая в качестве верба OLEIVERB_UIACTIVATE. Это устанавливает фокус на документ (веб-страницу) внутри веб-браузера контрола.

Две возможности, упомянутые в оригинальной описании, относятся к следующим подходам:

  1. Использование метода SetFocus на самом TWebBrowser-контроле, который не работает как ожидалось.
  2. Использование метода DoVerb с вербом OLEIVERB_UIACTIVATE, как показано в этом код-снippet.

Этот подход более надежен и устанавливает фокус на фактическую веб-страницу внутри веб-браузера контрола, а не только на сам контрол.

В статье описаны две методики для передачи фокуса на веб-страницу (документ) TWebBrowser Control, а не на сам контроллер.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-12 15:16:17/0.0034019947052002/0