006 — Установка порядка табуляции для элементов управления на форме

Установка порядка табуляции
для элементов управления, размещенных на форме


Содержание


Условие задачи

Пусть имеется форма нашего приложения, которая изображена на рисунке 1.

01_02_00_006_01r

Рис. 1. Главная форма приложения

Форма содержит пять элементов управления, которые могут получать фокус ввода:

  • Button1;
  • Button2;
  • Edit1;
  • Edit2;
  • Edit3.

Необходимо настроить перемещение между элементами с помощью клавиш табуляции (Tab, Shift+Tab) таким образом, чтобы при выполнении приложения порядок следования компонент друг за другом был следующим:

  • 1. Edit1
  • 2. Edit2
  • 3. Edit3
  • 4. Button1
  • 5. Button2


Выполнение

1. Вызов команды «Tab Order…«

Нажать правую кнопку мышки в области главной формы (свободная от других элементов управления область).
В результате откроется контекстное меню (рис. 2) в котором нужно выбрать команду «Tab Order…«.

01_02_00_006_02r

Рис. 2. Вызов команды «Tab Order…» из контекстного меню

 

2. Настройка порядка чередования компонент

Откроется окно «Edit Tab Order» (рис. 3).
В открывшемся окне, с помощью клавиш со стрелками в правой части настроить порядок следования как показано на рисунке 3. Свой выбор подтвердить нажатием на кнопке «Ok».

01_02_00_006_03_

Рис. 3. Окно редактирования очередности следования элементов управления

 

3. Программирование события активизации формы

Для того, чтобы при запуске приложения первоначально фокус ввода устанавливался, например в поле Edit1, нужно внести соответствующий программный код в событие активизации формы.
Листинг кода события активизации формы имеет следующий вид:

procedure TForm1.FormActivate(Sender: TObject);
begin
  Edit1.SetFocus;
end;

Если нужно, чтобы при запуске приложения фокус ввода получал компонент (элемент управления) Button1, то код активизации формы будет иметь следующий вид:

procedure TForm1.FormActivate(Sender: TObject);
begin
 Button1.SetFocus;
end;


Итог

В данной теме рассмотрено:

  1. Установка последовательности получения фокуса ввода компонентами формы при нажатии на клавишу Tab (Shift+Tab). Следует отметить, что не все компоненты Delphi могут получать фокус ввода (например компонент TLabel).
  2. Установка программным путем фокуса ввода для нужного компонента (элемента управления) с помощью вызова метода SetFocus.