В процессе работы приложения тот или иной элемент управления получает фокус ввода в зависимости от действий пользователя. Очень часто передача фокуса между элементами управления должна быть упорядочена. Например, при вводе данных в приложениях баз данных пользователь должен иметь максимум удобств для обеспечения хорошей производительности труда. Для этого он должен работать только с клавиатурой, не отвлекаясь на лишние операции по передаче фокуса в нужный компонент при помощи мыши.
Для решения подобного рода проблем все оконные элементы управления имеют два свойства. Свойство TabOrder определяет порядок передачи фокуса между элементами управления одного владельца (формы, панели, группы) при нажатии клавиши <Таb>. Значение 0 имеет компонент, который будет получать фокус при открытии формы.
Для того чтобы свойство TabOrder работало, свойство Tabstop должно иметь значение True.
Для передачи фокуса любому оконному элементу управления программными средствами можно использовать метод
procedure SetFocus; virtual;
унаследованный от класса TwinControl.
При необходимости работы в форме применяется метод
function SetFocusedControl(Control: TWinControl): Boolean; virtual;
класса TForm, в параметре указывается указатель на компонент, принадлежащий форме.