Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Tabulatortaste im TWebBrowser abfangen ? (https://www.delphipraxis.net/40238-tabulatortaste-im-twebbrowser-abfangen.html)

Ungeübter 12. Feb 2005 22:36


Tabulatortaste im TWebBrowser abfangen ?
 
Hallo Leute,

ich möchte für mein Programm eine Funktion basteln welche die Tabulatoreingaben abfängt, also dass man z.B. zählen kann wie oft die Tab-Taste gedrückt wurde. Allerdings soll das Ganze funktionieren wenn das im Webbrowser angezeigte Dokument den Focus hat.
Mit einem simplen KeyPreview auf true stellen und in der OnKeyPress-Procedure "if key = 'vk_tab'" funktioniert es leider nicht einmal wenn ein beliebiges Element de Fokus hat...

Auf der Suche nach einer Lösung habe ich das gefunden, auch wenn es für ein Editfeld geschrieben wurde (was ja leicht zu ändern ist): http://www.swissdelphicenter.ch/de/showcode.php?id=591

Damit funktioniert das Abfangen der Tabulatortaste zwar im Normalfall, wenn aber der Eingabefokus auf einem Dokument im Webbrowser liegt, wie in meinem Beispiel, dann empfängt er das Ereignis trotzdem nicht :cry:

Weiss jemand wie man das Problem lösen kann ? :?:

Sprint 12. Feb 2005 23:15

Re: Tabulatortaste im TWebBrowser abfangen ?
 
Ich weiß nicht, ob es eine einfachere Lösung gibt... Aber kannst diese ja mal ausprobieren. Bei Problemen einfach fragen.

Link

sniper_w 12. Feb 2005 23:15

Re: Tabulatortaste im TWebBrowser abfangen ?
 
Delphi-Quellcode:
var n:integer = 0;

procedure TForm1.MyProc(var Msg: tagMSG;
  var Handled: Boolean);
begin
//
 if Msg.message = WM_KEYDOWN then
  if Msg.wParam = VK_TAB then
  begin
    // und da ist es !!!!
   Inc(n);
  end;
//
Handled := False; // Wichtig
end;
//
Application.OnMessage:=MyProc;
//EDIT
Du musst noch irgend wie feststellen dass das Focus im TWebBrowser ist. Das sollte aber nicht so ein grosses Problem sein.

Ungeübter 15. Feb 2005 19:39

Re: Tabulatortaste im TWebBrowser abfangen ?
 
@Sprint

Hab das in dem Link beschriebene versucht, allerdings bin ich irgendwann an den ganzen Compilerfehlern gescheitert :(

@sniper_w

Wenn es so einfach funktionieren sollte wäre das natürlich super, allerdings meckert er bei mir bei der Zeile "Application.OnMessage:=MyProc;", Error: "Deklaration erwartet, aber Bezeichner 'Application' gefunden". :(

sniper_w 15. Feb 2005 20:48

Re: Tabulatortaste im TWebBrowser abfangen ?
 
Zitat:

Wenn es so einfach funktionieren sollte wäre das natürlich super, allerdings meckert er bei mir bei der Zeile "Application.OnMessage:=MyProc;", Error: "Deklaration erwartet, aber Bezeichner 'Application' gefunden".
"Application.OnMessage:=MyProc;" muss sich in einem OnCreate von TForm1 Event befinden. Mein letzes Beitrag könntest du nicht bloss in deienen Code kopieren.

Ungeübter 17. Feb 2005 00:08

Re: Tabulatortaste im TWebBrowser abfangen ?
 
Ahh ok, funktioniert tadellos, auch wenn man das Ganze noch etwas weiter treibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz