Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi focus wiederherstellen (https://www.delphipraxis.net/4749-focus-wiederherstellen.html)

Jan 10. Mai 2003 17:29


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

Luckie 10. Mai 2003 17:30

KeyPreview auf TRUE setzen.

sakura 10. Mai 2003 17:31

Das Form hat die Eigenschaft KeyPreview, diese musst Du einfach auf True setzen, dann kannst Du fast alle Tastenereignisse abfangen.

...:cat:...

Jan 10. Mai 2003 17:33

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

sakura 10. Mai 2003 17:57

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.

http://www.swissdelphicenter.ch/de/showcode.php?id=1055

...:cat:...

Jan 10. Mai 2003 18:10

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

nailor 10. Mai 2003 19:19

einwurf: also, wenn du buttons im eigenen Programm klicken willst, musst du nicht die maus verschieben...

Jan 10. Mai 2003 19:27

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

S2B 21. Mär 2004 10:54

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

Jan 21. Mär 2004 12:26

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 09:35 Uhr.
Seite 1 von 2  1 2      

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