Zitat:
darum muss ich eine Möglichkeit finden für eine direkte Eingabe auf dem Canvas.
In einen Canvas kann man nichts eingeben, darauf kann man nur zeichnen. Alternativ zu pelzigs Vorschlag könntest du auch ein TEdit benutzen, dass ständig den Focus hat. Im OnKeyDown des TEdits reagierst du dann auf Sondertasten wie F1 bis F10 oder deine anderen Steuertasten. Wenn die ankommenden Zeichen als Koordinateneingabe interpretiert werden (wie das unterschieden wird, weißt du selbst am besten), werden sie ganz normal ins TEdit eingetippt.
Ich weiß auch immer noch nicht, wie es aussehen soll, wenn längere Werte eingetippt werden. Willst du die einzelnen Zeichen dann gleich auf den Canvas malen?
Wenn das Edit nicht sichtbar ein soll, kann du es auch außerhalb des Forms plazieren , z.B. mit top=-100.
Zitat:
Only the object that has the focus can receive a keyboard event. Some controls, such as TImage, TPaintBox, TPanel and TLabel cannot receive focus.
Deshalb brauchst du ja
1. eine Komponente, in die du zeichnen kannst. Dazu nimmt man normalerweise eine Paintbox.
2. eine Komponente, die den Focus erhalten kann, z.B. ein TEdit.