006 – Встановлення порядку табуляції для елементів управління на формі

Встановлення порядку табуляції (зміни фокусу введення) для елементів управління, що розміщені на формі


Зміст


Умова задачі

Нехай маємо форму нашої програми, яка зображена на рисунку 1.

01_02_00_006_01u

Рис. 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_02u

Рис. 2. Виклик команди “Tab Order…” з контекстного меню

 

2. Налаштування порядку слідування з допомогою табуляції

Відкриється вікно “Edit Tab Order” (рисунок 3). У вікні з допомогою клавіш стрілок в правій частині налаштувати порядок слідування як показано на рисунку. Підтвердити свій вибір натиском на клавіші Ok.

01_02_00_006_03_

Рис. 3. Вікно редагування порядку слідування елементів управління

 

3. Програмування події активізації форми

Для того, щоб при запуску програми на виконання фокус введення встановлювався, наприклад, в поле Edit1, то потрібно внести відповідний код в подію активізації форми.

Лістинг коду події активізації форми.

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

Якщо потрібно, щоб при запуску програми фокус введення мав компонент (елемент управління) Button1, то відповідна подія активізації форми матиме вигляд.

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


Висновок

У даній темі розглянуто:

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