Ich möchte mich ja nicht einmischen, aber den Code von PaulJr kann man noch ein wenig vereinfachen (gleiches zusammenfassen).
Code:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var Mgs: TMsg;
begin
case Key of
VK_RETURN, VK_TAB: begin // ENTER oder TAB-Taste erkannt
Key := 0;
Perform(WM_NextDlgCtl, ord(Shift = [ssShift]), 0);
PeekMessage(Mgs, 0, WM_CHAR, WM_CHAR, PM_REMOVE); // Beep-Ton ausschalten
end;
end // für CASE Key OF
end;