![]() |
Tastaturnutzung?
Wie kann man dem Programm sagen, dass bei bestimmten Tastatur-Tasten eine Funktion ausgeführt wird?
Ich weiß, dass es im Form-Event OnKeyPress geht... aber wie kann ich z.B. eine Funktion aufrufen, indem ich "a" drücke? Und kann man auch direkt Buttons benutzen, oder muss man die ganzen Befehle da rüberkopieren, wenn man durch Tastenbelegung eine Alternative zu Buttons geben will? |
Re: Tastaturnutzung?
Sorry, ich versteh nicht ganz auf was du rauswillst :gruebel:
|
Re: Tastaturnutzung?
Ich will, per Nutzung einer Tastatur-Taste (z.B. "a") einen Befehl aufrufen. Und außerdem noch wissen, ob ich den Befehl direkt auf einen Button verweisen kann, sodass der Button bei Benutzung der jeweiligen Taste benutzt wird, was mir viel rum-kopiererei ersparen würde ;)
immer noch nicht kapiert? O.o |
Re: Tastaturnutzung?
Mach im Formular OnKeyPress wine
![]() |
Re: Tastaturnutzung?
du kannst die button-click procedure ansprechen:
Delphi-Quellcode:
...
Button1Click(nil); ... |
Re: Tastaturnutzung?
Ich weiß zwar (immer noch ;-)) nicht genau, worauf du hinaus willst, aber wenn z.B. auf Tastendruck der Taste A n deinem Programm was passiere soll, dann schau dir mal DeineForm1.OnKeyPress an, da gibt es einen var.Parameter namens Key, darin ist die gedrückte Taste gespeichert. Und stell am besten im OnCreate deines Formulars die eigenschaft Keypreview auf true.
|
Re: Tastaturnutzung?
Im OI beim Form KeyPreview auf true setzen und etwa so vorgehen:
Delphi-Quellcode:
Wenn du aber kein Strg oder Alt verwendest musst du aufpassen, weil "a" dann auch in einem Edit oder ähnlichem nicht mehr klappt. Wenn du z.B. Alt+A nehmen würdest, dann brauchst du nur die Button-Caption z.B. "&Abbrechen" nennen, das ist einfacher.
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin If Key = 'a' then Button1.OnClick(Sender); end; |
Re: Tastaturnutzung?
ich würde keydown oder keyup empfehlen, da man hier auch auf tastenkombinationen reagieren kann!
sieh dir dabei auch mal in der oh den begriff "Virtuelle Tastencodes" an dann kanns du mit deinem ticactoe auf den nummernblock ausweichen! |
Re: Tastaturnutzung?
So, in meinem Testprog funz alles, mal im Hauptprog eintragen :)
Danke für die Hilfe, Thema hat sich erledigt ;) |
Re: Tastaturnutzung?
Liste der Anhänge anzeigen (Anzahl: 1)
ich machs immer so
z.b.
Delphi-Quellcode:
If Key = vk_escape then procedure...;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 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