![]() |
Webbrowser Enter in Formulare & XP Style
Hallo
Ich bin gerade dabei einen Webbrowser mit hilfe der TWebbrowser Kompo zu basteln. Nun wollte ich fragen, was ich tun muss um bei einem Formular wie zb bei einer Eingabe in Google mit Enter bestätigen zu können? Und was muss ich tun damit die Formulare wiederum wie bei google XP Style haben. Danke Grüsschen |
Re: Webbrowser Enter in Formulare & XP Style
Zitat:
![]() Cu, Frank |
Re: Webbrowser Enter in Formulare & XP Style
Danke hat super geklappt :D
|
Re: Webbrowser Enter in Formulare & XP Style
Hallo.
Ich dachte ich käme mit der Hilfe auch ein gutes Stück weiter, es gibt aber ein großes Problem: In meiner Webapplikation nutze ich Ajax und löse daher mit onKeyup Javascript-Ereignisse aus. Da ich wie oben ebschrieben die VK_BACK-Taste nicht zulasse, wird auch das Ereignis nicht richtig ausgelöst -eben beim verändern des Feldinhalts durch Drücken der VK_BACK-Taste nicht. Gibt es hierzu ein Workaround? Nutzt es wenn ich VK_BACK manuell sende? |
Re: Webbrowser Enter in Formulare & XP Style
Hallo
Also das beispiel oben ist sehr nett, aber bei mir funktioniert enter key immer noch nicht. Zumindestens nicht bei google in der suchleiste. Eigentlich hab ich das ganze Beispiel nur kopiert und kompiliert. Es ist also 100% das Beispiel von oben .... und es geht nicht? edit: naja ich lade die seite im onshow event und hab den button rausgeschmissen... also 99.99% Weiß jemand Rat oder gibts da neuerungen? lg Arnulf |
Re: Webbrowser Enter in Formulare & XP Style
Hallo
Setze die Komponente TApplicationEvents auf die Form und weise ihr einen OnMessage Handler zu.
Delphi-Quellcode:
uses
ActiveX; procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); const StdKeys = [VK_TAB, VK_RETURN]; { standard keys } ExtKeys = [VK_DELETE, VK_BACK, VK_LEFT, VK_RIGHT]; { extended keys } fExtended = $01000000; { extended key flag } var CurrentWB: TWebbrowser; begin CurrentWB := Webbrowser1; if not Assigned(CurrentWB.Document) then begin Handled := False; Exit; end; if IsChild(CurrentWB.Handle, Msg.Hwnd) then begin if (Msg.Message = WM_CLOSE) then msg.message := 0 else if ((Msg.Message >= WM_KEYFIRST) and (Msg.Message <= WM_KEYLAST)) and ((Msg.wParam in StdKeys) or (GetKeyState(VK_CONTROL) < 0) or (Msg.wParam in ExtKeys) and ((Msg.lParam and fExtended) = fExtended)) then begin Handled := (CurrentWB.Application as IOleInPlaceActiveObject).TranslateAccelerator(Msg) = S_OK; if not Handled then begin Handled := True; TranslateMessage(Msg); DispatchMessage(Msg); end; end; end; end; |
Re: Webbrowser Enter in Formulare & XP Style
tja danke - und tatsächlich - wenn man einen eventhandler hat der auch auf die procedure zugreift ... dann läufts auch mit der enter taste.
danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 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