Существует множество методов решения этой проблемы, но самый быстрый способ, это перехват нажатия клавиш, перед тем как их получит форма:
В секции формы PRIVATE добавьте:
procedure CMDialogKey(var Msg: TWMKey); message CM_DIALOGKEY;
В секции IMPLEMENTATION добавьте:
procedure TForm1.CMDialogKey(var Msg: TWMKey); begin if not (ActiveControl is TButton) then if Msg.Charcode = 13 then Msg.Charcode := 9; inherited; end;
Тем самым мы исключаем срабатывания нашей подмены, если фокус находится на кнопке.
Чтобы ускорить работу приложения, не надо активизировать свойство формы KEYPREVIEW