Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme bei OnKeyDown (https://www.delphipraxis.net/148968-probleme-bei-onkeydown.html)

Salazriel 11. Mär 2010 13:58


Probleme bei OnKeyDown
 
Guten Tag,

Ich programmiere zurzeit eine PingPong-Variante. Zur Steuerung der Kelle gebe ich zwei Optionen vor:
entweder mit der Maus (Top-Änderung:=y-Änderung) oder mit der Tastatur (vk_up und vk_down).

Wenn ich jedoch bei Tastatursteuerung noch z.B. eine RadioGroup auf dem Formular habe, "verfängt" sich die Hoch-Runter-Bewegung der Laufzeit darin. Damit meine ich, dass wenn man auf eine Option von RadioGroup1 während der Laufzeit klickt, man danach mit Hoch und Runter nur noch die Position des ItemIndex ändert, FormKeyDown reagiert irgendwie nicht auf den Tastendruck.
Weiß jemand Abhilfe?

Klaus01 11. Mär 2010 14:03

Re: Probleme bei OnKeyDown
 
Hallo,

setze mal Keypreview der Form auf true.
Eventuell auch nach dem das Item gesetzt wurde der Radiogroup
den Focus entziehen.

Grüße
Klaus

Salazriel 11. Mär 2010 14:21

Re: Probleme bei OnKeyDown
 
Hmmm....meinst du mit Focus entziehen sowas wie bei OnClick ein Form1.setFocus? Das funktioniert nicht.

Die OH hat auch noch was von davon erzählt, das Focused(TCustomCombo) angibt,ob die Box der Empfänger der Eingaben ist. Es ist jedoch eine Methode, gibt es da etwas ähnliches, damit ich das Ganze auf False setzen kann?

fui-tak 11. Mär 2010 14:31

Re: Probleme bei OnKeyDown
 
Du könntest bei allen Elementen der RadioGroup, in denen sich die Tasten verfangen, sowas machen:
Delphi-Quellcode:
RadioButton1.OnKeyDown := Form1.OnKeyDown;
Edit1.OnKeyDown := Form1.OnKeyDown;
...
Dann wird immer, wenn eines der Objekte einen Tastendruck empfängt, die OnKeyDown Methode der Form aufgerufen

Salazriel 11. Mär 2010 14:45

Re: Probleme bei OnKeyDown
 
Interessanterweise habe ich genau diese Sache bei der Maussteuerung angewandt, da FormMouseMove bei der Maus über z.B. Panels oder Buttons nicht ausgelöst wurde.
TRadioGroup hat jedoch weder ein OnMouseMove noch ein OnKeyDown :x
Daher kann man deinen Vorschlag nicht anwenden.

Eine Möglichkeit wäre es natürlich, mir mit TGroupbox und TRadioButtons selbst was zusammenzubasteln, aber es muss doch eigentlich auch mit TRadioGroup gehen ,oder?

Blup 11. Mär 2010 15:45

Re: Probleme bei OnKeyDown
 
Such mal nach: KeyboardHook

Salazriel 11. Mär 2010 15:54

Re: Probleme bei OnKeyDown
 
uhhh....da mache ich doch lieber das mit den Einzelelementen, is ja nur Projekt für die Schule; da will ich jetzt nicht einfach so was schwieriges kopieren ^^

aber trotzdem danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr.

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