В секции формы PRIVATE добавьте:
Code: |
Procedure CMDialogKey(Var Msg:TWMKey); message CM_DIALOGKEY; |
В секции IMPLEMENTATION добавьте:
Code: |
Procedure TForm1.CMDialogKey(Var Msg: TWMKey); Begin If NOT (ActiveControl Is TButton) Then If Msg.Charcode = 13 Then Msg.Charcode := 9; inherited; End; |
Тем самым мы исключаем срабатывания нашей подмены, если фокус находится на кнопке.
Чтобы ускорить работу приложения, не надо активизировать свойство формы KEYPREVIEW
Code: |
procedure TForm1.FormCreate(Sender: TObject); begin Form1.KeyPreview := true; end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var c: TControl; begin if Key <> 13 then Exit; repeat c := Form1.FindNextControl(Form1.ActiveControl, true, true, true); (c as TWinControl).SetFocus; until c is TEdit; end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!