... mit Return in TForm weiter-'tabben'

hallo zusammen,

ich möchte, wenn der User Return drückt das nächste Control aktiviert wird.
hab in Wnd_proc WM_KEYDOWN abgefangen und über SelectNext(…)
weiterge"tabt".

wird allerdings 2-mal ausgelöst, d.h. das nächste(gewünschte) Control wird übersprungen.

Wer kann helfen? Thanks a lot for Your Help.

Hi joe,

probier mal das:

PROCEDURE TForm1.FormKeyPress(Sender: TObject; VAR Key: CHAR);
begin
 IF Key=$13 THEN Self.Perform(WM\_NEXTDLGCTL, 0, 0)
end;

Übrigens: Mit „Self.Perform(WM_NEXTDLGCTL, 1, 0)“ kannst Du den Fokus aufs vorhergehende Control schalten (ist nützlich, wenn Du dem Benutzer die Möglichkeit geben willst, den Fokus mit mit Cursor up/down vorwärts/rückwärts schalten zu können).

Mit freundlichem Gruß
Martin

Nachtrag
Das sollte ich noch erwähnen: Das Property „KeyPreview“ des betreffenden Formulars muß den Wert TRUE haben.

Das sollte ich noch erwähnen: Das Property „KeyPreview“ des
betreffenden Formulars muß den Wert TRUE haben.

hi Martin,

danke dir.
hab zwischenzeitlich auch noch eine andere Lösung gefunden.
KeyPreview = TRUE und
in keyDown selectNext(Activecontrol, true, true) einfügen.

danke nochmals und CU