Wie verbindet man in Free Pascal eine Taste mit einem Button?
Ich möchte gerne in einem Programm die Enter- Taste mit einem Button verbinden, finde aber nichts übersichtliches, was das erklärt ...
Warum?
Weil es mich interessiert und ich wissen möchte, was für Möglichkeiten man mit Pascal hat ...
Ich meine, warum muss es die ENTER-Taste sein, die eine Aktion auslösen soll.
Wir haben in der Schule ein vereinfachtes Taschenrechner-Programm geschrieben, wo es für mich gewohnheitstechnisch besser ist Enter zu drücken, da ich es vom normalen Rechner kenne
Alles klar, ich teste das Mal. Melde mich gleich wieder.
klar Danke für die Mühe :)
Ergänze die Frage doch bitte um die Basisinformationen, welches GUI-Tollkit+Binding findet Verwendung.
Weiß nicht, wir haben die Lazarus Umgebung genutzt, falls du das meinst, ansonsten wüste ich nichts genaueres, da das ganze noch ziemliches Neuland für mich ist ...
2 Antworten
Also:
1) Du brauchst ein neues Projekt mit einem LABEL.
2) Du klickst auf die FORM
3) Im Objektinspektor schaltest du KEYPREVIEW auf TRUE
4) Dann gehst du auf EREIGNISSE und klickst bei ONKEYPRESS doppelt
5) in der Prozedur schreibst diesen Code:
If key=#13 then Label1.Caption:='TEST';
6) starte die App und mit Druck auf ENTER erschein 'TEST' im Label.
Ordne der Komponente, welche auf den Tastendruck reagieren soll, einfach einen Handler für das OnKeyPress-Event zu.
Innerhalb der Lazarus IDE brauchst du dafür lediglich die Komponenten selektieren und im Tab Ereignisse des Objektinspektors zweimal in das leere Feld, rechts neben OnKeyPress klicken. Im Quelltexteditor wird daraufhin eine neue Prozedur erstellt, die an das Event gebunden wird. In dieser Prozedur kannst du nun mit Hilfe einer Verzweigung die passende Taste herausfiltern.
if Ord(Key) = VK_RETURN then
begin
// do something ...
end;
In der Unit musst du noch den LCLType unter uses mit auflisten, damit die Konstante VK_RETURN bekannt ist. Andernfalls kannst du Key ebenso mit #13 vergleichen.
Vielen Dank :) und Danke für die Mühe ...