![]() |
focus wiederherstellen
Hallo DP,
Ich habe ein Programm wo ich auf shortcuts reagieren muss und den mauszeiger an eine bestimmte stelle bewegen muss, um zu klicken. Logischerweise wird dann aber der Focus auf das Element gesetzt, wo ich hingeklickt habe, und das onkeypress-Ereignis zum abfangen der shortcuts klappt nicht mehr. Nun meine Frage: Kann ich dem Form1 irgendwie eine Eigenschaft geben, dass alle keypresses, egal welches Element gerade focussiert ist, übernimmt? Also dass der TForm1.FormKeyPress auch dann ausgeführt wird, wenn ich gerade auf einen twebbrowser geklickt habe? Wenn das nicht geht, wie schaffe ich es dann per code den focus wieder so auf ein element zu setzen, dass dieses dann für den onkeypress zuständig wäre? Ich habe versucht einen button zu nehmen und dann in dessen onkeypress die routinen zum klicken zu schreiben. Leider reicht button1.setfocus nicht aus, dass der button das onkeypress ereignis übernimmt. Oder kann ich da was am Twebbrowser machen? Leider hat dieser kein onkeypress ereignis... Danke schonmal für alle Hilfe! Gruß Jan |
KeyPreview auf TRUE setzen.
|
Das Form hat die Eigenschaft KeyPreview, diese musst Du einfach auf True setzen, dann kannst Du fast alle Tastenereignisse abfangen.
...:cat:... |
Hallo luckie,
das habe ich schon gemacht, aber es hilft leider auch nicht weiter, sobald ich ein Mal einen shortcut gedrückt habe und der focus auf den webbrowser gesetzt wird, wird das onkeypress-ereignis nichtmehr ausgelöst. Gruß Jan |
Das wird kompliziert, da der Webbrowser eine OLE Komponente ist und als Programm im Programm alles selbst erledigt. Wenn es möglich ist, dann unter Umständen über den Ansatz der hier geliefert wird.
![]() ...:cat:... |
Hallo Sakura
öööhhhhmmm... jaa..... davon verstehe ich irgendwie keinen Buchstaben. Hab das mal so eingebaut, nu klappt garkein shortcut mehr. das Umschreiben der Dialogkeys hat da nicht viel gebracht, ich raff halt absolut nicht was da vorgeht. Irgendeinen Ansatz wie ich das umbauen muss? Gruß Jan |
einwurf: also, wenn du buttons im eigenen Programm klicken willst, musst du nicht die maus verschieben...
|
hi nailor,
aha, das wusste ich zwar auch schon, aber trotzdem danke. Es geht hier ja garnicht darum wie ich nen button klicke, sondern wie ich den focus vom twebbrowser wegebekomme, oder wie ich den twebbrowser ersetzen soll. Gruß Jan |
Re: focus wiederherstellen
Ich hab genau das gleiche Problem! Ich hab Shortcuts in meinem Browser, die funktionieren aber nicht mehr, wenn man den Fokus auf den TWebBrowser gesetzt hat! Ich hab auch den Code vom SwissDelphiCenter benutzt, um die Enter-Taste im Browser zu aktivieren (aber es funktioniert nicht zuverlässig!).
Weiß vielleicht jemand Rat??? Gruß S2B |
Re: focus wiederherstellen
Des Rätsels lösung sind global hooks.
Dazu solltest du in der DP search einiges finden. Gruß Jan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 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