TAskEdit, TAskMaskEdit, TAskRxCalcEdit, TAskCurrencyEdit, TAskComboBox, TAskMemo, и т.д.
– наследники соответствующих компонентов без префикса ASK. Обладают дополнительными свойствами, позволяющими выполнять предустановки статусов клавиатуры при получении компонентами фокуса ввода, и возвращающими всё в исходное состояние при потере компонентами фокуса ввода (при уходе с них). Если это выглядит чуточку заумно, дальше всё станет понятно.
Итак, свойства:
bool AskSaveKeyboardStatus – запоминать ли статус клавиатуры (состояние "Caps Lock", "Num Lock", языковая раскладка) перед его изменением (при получении фокуса ввода)
bool AskRestoreKeyboardStatus – восстанавливать ли статус клавиатуры при потере фокуса ввода (уходе с компоненты редактирования)
bool AskCapsLockOff – выключает "Caps Lock"
bool AskCapsLockOn – включает "Caps Lock"
bool AskNumLockOff – выключает "Num Lock"
bool AskNumLockOn – включает "Num Lock"
bool AskSwitchToWinLang – переключать ли раскладку клавиатуры на язык локализации Windows (для русских Windows – это русский язык)
bool AskSwitchToENU - переключать ли раскладку клавиатуры на английский язык.
Таким образом, только редактированием свойств компонентов, - без написания кода - можно разработать максимально удобный для пользователей режим ввода данных: в поле ввода ФИО – русский язык, в поле ввода суммы – английский, "Num Lock" включен, и т.д.