Discussion:
ONKeydown vs OnKeyPress
(zu alt für eine Antwort)
Florian Kolb
2015-04-17 12:01:24 UTC
Permalink
Hallo,

ich habe ein Tastatur Problem.
Wenn ich eine Tastatur-Eingabe ueber das Ereignis OnKeyDown mit der
Ereignisbehandlungs-Procedure "KeyDown_Check" bearbeite, klappt das fuer
einzelne Charakter problemlos;

Ich will allerdings auch anstelle der Maus mit ALT und einem Charakter
arbeiten. Dazu benoetigt man OnKeyPress. Die
Ereignisbehandlungs-Procedure "KeyPress_Check" laeuft allerdings nicht,
da beim Druecken von ALT immer die "KeyDown_Check" (siehe oben)
aufgerufen wird.

Die Frage ist also: Kann man die Funktionen "ONKeyDown" und "ONKeyPress"
ueberhaupt parallel verwenden und wenn ja, wie?

Vielleicht hat jemand eine Idee. Besten Dank im voraus.
florian
Jakob Achterndiek
2015-04-17 12:26:12 UTC
Permalink
Post by Florian Kolb
[..]
Die Frage ist also: Kann man die Funktionen "ONKeyDown" und
"ONKeyPress" ueberhaupt parallel verwenden und wenn ja, wie?
Da OnKeyDown mehr Informationen verarbeitet und zurückliefert,
solltest du es bevorzugt einsetzen. OnKeyPress ist sparsam und
gut, wenn wie bei einer Schreibmaschine nur auf eingetippte
Zeichen reagiert werden soll. Beides gleichzeitig stiftet nur
Verwirrung - wie du ja selbst festgestellt hast.

j/\a
--
Florian Kolb
2015-04-17 13:08:52 UTC
Permalink
Hallo Jakob,
besten Dank,
ich werde also umstellen;
Gruesse
florian
Post by Jakob Achterndiek
Post by Florian Kolb
[..]
Die Frage ist also: Kann man die Funktionen "ONKeyDown" und
"ONKeyPress" ueberhaupt parallel verwenden und wenn ja, wie?
Da OnKeyDown mehr Informationen verarbeitet und zurückliefert,
solltest du es bevorzugt einsetzen. OnKeyPress ist sparsam und
gut, wenn wie bei einer Schreibmaschine nur auf eingetippte
Zeichen reagiert werden soll. Beides gleichzeitig stiftet nur
Verwirrung - wie du ja selbst festgestellt hast.
j/\a
--
Peter Below (TeamB)
2015-04-17 17:23:29 UTC
Permalink
Post by Florian Kolb
Hallo,
ich habe ein Tastatur Problem.
Wenn ich eine Tastatur-Eingabe ueber das Ereignis OnKeyDown mit der
Ereignisbehandlungs-Procedure "KeyDown_Check" bearbeite, klappt das
fuer einzelne Charakter problemlos;
Ich will allerdings auch anstelle der Maus mit ALT und einem
Charakter arbeiten. Dazu benoetigt man OnKeyPress. Die
Ereignisbehandlungs-Procedure "KeyPress_Check" laeuft allerdings
nicht, da beim Druecken von ALT immer die "KeyDown_Check" (siehe
oben) aufgerufen wird.
Die Frage ist also: Kann man die Funktionen "ONKeyDown" und
"ONKeyPress" ueberhaupt parallel verwenden und wenn ja, wie?
Vielleicht hat jemand eine Idee. Besten Dank im voraus.
florian
Die Regel ist eigentlich ziemlich simpel: willst du *Zeichen*
bearbeiten verwende OnKeyPress, da bekommst Du direkt das Zeichen
geliefert, egal mit welche Tastenkombination es erzeugt wird. Wenn Du
Tasten verarbeiten mußt, die keine Zeichen erzeugen (die Pfeiltasten z.
B.) verwende OnKeyDown. Das liefert dann den virtuellen Tastenkode.
--
Peter Below (TeamB)
Jens Lenge
2015-04-18 16:34:57 UTC
Permalink
Post by Peter Below (TeamB)
Die Regel ist eigentlich ziemlich simpel: willst du *Zeichen*
bearbeiten verwende OnKeyPress, da bekommst Du direkt das Zeichen
geliefert, egal mit welche Tastenkombination es erzeugt wird. Wenn Du
Tasten verarbeiten mußt, die keine Zeichen erzeugen (die Pfeiltasten z.
B.) verwende OnKeyDown. Das liefert dann den virtuellen Tastenkode.
Gute Zusammenfassung, danke.

(Wobei der Name "OnKeyPress" dann aber etwas unglücklich gewählt ist;
sowas wie "OnCharInput" o. ä. wäre wohl besser/eindeutiger.)

Loading...