Solange eine Taste gedrückt wird

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Solange eine Taste gedrückt wird

Beitragvon Chris237 » 21. Apr 2018, 09:43 Solange eine Taste gedrückt wird

Hallo Leute,

Ich würde gerne in einem Programm implementierend das wenn ich eine Taste z.B. 'l' drücke ein Panel grün wird und sobald ich wieder loslasse das Panel schwarz wird.

leider habe ich bis her noch keine Lösung gefunden.

Vielleicht hat einer von euch eine Idee.

Danke für die Hilfe

Gruß
Chris237
 
Beiträge: 11
Registriert: 18. Sep 2013, 19:09

Beitragvon wp_xyz » 21. Apr 2018, 09:55 Re: Solange eine Taste gedrückt wird

Das Formular reagiert auf die Ereignisse OnKeyDown und OnKeyUp. Dort kannst du das gewünschte Verhalten einbauen. Falls sich auf dem Formular neben dem Panel auch weitere Controls befinden, insbesondere solche, die selbst Tastaturereignisse empfangen können, musst du noch die Eigenschaft KeyPreview des Formulars auf true stellen, sonst werden die Tastaturereignisse vom fokussierten Control bearbeitet und nicht bis zum Formular weitergeleitet.

Also:
  • auf OnKeyDown des Formulars doppelt klicken, im erscheinenden Methoden-Rumpf den Code eintragen, um das Panel grün einzufärben (Panel1.Color := clGreen)
  • auf OnKeyUp des Formulars doppelt klicken, im Methoden-Rumpf das Panel schwarz färben
  • ggfs. die Eigenschaft KeyPreview des Formulars auf true setzen
wp_xyz
 
Beiträge: 2568
Registriert: 8. Apr 2011, 08:01

Beitragvon fliegermichl » 23. Apr 2018, 10:18 Re: Solange eine Taste gedrückt wird

...und in Onkeydown prüfen, ob Key = ORD('L') ist.
fliegermichl
 
Beiträge: 193
Registriert: 9. Jun 2011, 08:42

Beitragvon Mathias » 23. Apr 2018, 16:45 Re: Solange eine Taste gedrückt wird

fliegermichl hat geschrieben:...und in Onkeydown prüfen, ob Key = ORD('L') ist.

Für diesen Zweck, gibt es schon vordefinierte Konstanten in der Unit LCLType.
Code: Alles auswählen
if Key = VK_L then ....
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon fliegermichl » 24. Apr 2018, 07:46 Re: Solange eine Taste gedrückt wird

So ist natürlich noch besser. In der Zeit als ich programmieren gelernt habe, gab es das noch nicht.
fliegermichl
 
Beiträge: 193
Registriert: 9. Jun 2011, 08:42

Beitragvon Mathias » 24. Apr 2018, 08:19 Re: Solange eine Taste gedrückt wird

Das ging mir auch so, man lernt immer wieder dazu.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: m.fuchs und 3 Gäste

porpoises-institution
accuracy-worried