Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tastaturnutzung? (https://www.delphipraxis.net/30476-tastaturnutzung.html)

malo 25. Sep 2004 12:35


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?

moritz 25. Sep 2004 12:37

Re: Tastaturnutzung?
 
Sorry, ich versteh nicht ganz auf was du rauswillst :gruebel:

malo 25. Sep 2004 12:40

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

jfheins 25. Sep 2004 12:46

Re: Tastaturnutzung?
 
Mach im Formular OnKeyPress wine Delphi-Referenz durchsuchencase Anweisung uns sage dann z.B. bei der 1: Button1.Click;

ibp 25. Sep 2004 12:46

Re: Tastaturnutzung?
 
du kannst die button-click procedure ansprechen:

Delphi-Quellcode:
...
  Button1Click(nil);
...

Ultimator 25. Sep 2004 12:48

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.

scp 25. Sep 2004 12:48

Re: Tastaturnutzung?
 
Im OI beim Form KeyPreview auf true setzen und etwa so vorgehen:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  If Key = 'a' then
    Button1.OnClick(Sender);
end;
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.

ibp 25. Sep 2004 12:54

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!

malo 25. Sep 2004 13:42

Re: Tastaturnutzung?
 
So, in meinem Testprog funz alles, mal im Hauptprog eintragen :)

Danke für die Hilfe, Thema hat sich erledigt ;)

Remote1 25. Sep 2004 14:10

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