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.
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).
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.