Просто наблюдение, но я наблюдал, как многие пользователи заполняют диалоговые окна (особенно сложные), и они НЕ используют клавишу TAB. Они, как правило, нажимают кнопки-переключатели в редактируемых комбинациях, когда «продумывают» ответы или читают разрозненную документацию. Этот заказ не будет таким, как вы думали! Мы как программисты, надеюсь, логичны (капитан, сказал Спок), но пользователи хорошо ...
Один из способов, который хорош (но требует усилий), состоит в том, чтобы каждый редактор проверял себя при изменении или при выходе, и он просто меняет цвет, если он недействителен. Ваша процедура в коде «кнопки ОК» - это простой вопрос итерации по списку управления и установки фокуса на первый, который сообщает о себе как «недействительный», пока никто не делает.
Я работаю в авиационной отрасли с упором на кредитные карты, и у меня есть TTicketNumberEdit, TCardNumberEdit, TExpiryDateEdit, TFormOfPaymentEdit и т. Д., Потому что в некоторых из них проверка не является простой. Как уже упоминалось, вы должны приложить усилия на раннем этапе, но это окупается в сложных диалогах.