![]() |
Tastatureingaben einbinden...
Hiho Leutz,
Also ich hab mal ne frage: wenn ich eine procedure für zB. "Pfeil nach links" taste haben möchte, wie kann ich das realisieren??? :?: |
Re: Tastatureingaben einbinden...
Hi.
Erzeuge dir eine Action und verpasse der den Shortcut "Nach Links". Die Action klinkst du dann bei einer passenden Komponente auf deiner Form ein - MenuItem, Button, ... Grüße vom marabu |
Re: Tastatureingaben einbinden...
oder du löst eine deklarierte Prozedur OnKeyDown aus.
|
Re: Tastatureingaben einbinden...
Nein, ich möchte das ja gerne für jede beliebige taste machen...:(
|
Re: Tastatureingaben einbinden...
Naja... da gibts n paar elegante Möglichkeiten. Du kannst z.B. ein array[$0..$FE] of procedure machen, das dann im OnKeyUp einfach keyarray[Key] macht. du kannst damit jeder taste ziemlich einfach einen event zuweisen.
Oder du machst es im KeyUp mit einer Case-Anweisung. Geht auch. |
Re: Tastatureingaben einbinden...
Du kanns doch onkeydown nehmen und mit case abfragen.
Delphi-Quellcode:
ausprobieren kannst du mit showmessage(inttostr(key));
case key of 37: //Links
38: //Oben 39: //Rechts 40: //Unten 65: //A end; if ssshift in shiftstate then //Shift gedrückt |
Re: Tastatureingaben einbinden...
Wenn du global in deinem Programm die KeyCodes auffangen willst, vergess nicht, im Hauptformular "KeyPreview" auf True zu setzen. Damit verhinderst du, dass evtl. die Komponente, die gerade den Fokus hat, etwas (unbeabsichtigtes) aufgrund des Tastedrucks macht.
Gruß Pfoto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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