Как заставить кнопку Enter работать наподобие Tab
Как заставить кнопку Enter работать наподобие Tab
Как заставить кнопку Enter работать наподобие Tab Как-то бухгалтер, который пользовался моей программой, заявил, что ему неудобно перескакивать пустые поля в форме кнопкой Tab, и что намного удобнее это делать обычным Enter-ом. Предлагаю посмотреть, как я решил эту проблему. Совместимость: Все версии Delphi Пример обработчика события: procedure Tform1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var ACtrl: TWinControl; begin if key = 13 then begin ACtrl := ActiveControl; if ACtrl is TCustomMemo then exit; repeat ACtrl:= FindNextControl(ACtrl,true,true,false); until (ACtrl is TCustomEdit) or (ACtrl is TCustomComboBox) or (ACtrl is TCustomListBox) or (ACtrl is TCustomCheckBox) or (ACtrl is TRadioButton); ACtrl.SetFocus ; end; end; Не забудьте установить свойство формы KeyPreview в true. Как Вы можете видеть; этот код использует функцию FindNextControl, которая ищет следующий свободный контрол. Так как все формы в моём приложении наследуются от одной, то достаточно поместить этот код в главную форму и после этого все формы будут реагировать на нажатие Enter подобным образом.