Встановлення порядку табуляції (зміни фокусу введення) для елементів управління, що розміщені на формі
Зміст
Умова задачі
Нехай маємо форму нашої програми, яка зображена на рисунку 1.
Рис. 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…“.
Рис. 2. Виклик команди “Tab Order…” з контекстного меню
2. Налаштування порядку слідування з допомогою табуляції
Відкриється вікно “Edit Tab Order” (рисунок 3). У вікні з допомогою клавіш стрілок в правій частині налаштувати порядок слідування як показано на рисунку. Підтвердити свій вибір натиском на клавіші Ok.
Рис. 3. Вікно редагування порядку слідування елементів управління
3. Програмування події активізації форми
Для того, щоб при запуску програми на виконання фокус введення встановлювався, наприклад, в поле Edit1, то потрібно внести відповідний код в подію активізації форми.
Лістинг коду події активізації форми.
procedure TForm4.FormActivate(Sender: TObject);
begin
Edit1.SetFocus;
end;
Якщо потрібно, щоб при запуску програми фокус введення мав компонент (елемент управління) Button1, то відповідна подія активізації форми матиме вигляд.
procedure TForm4.FormActivate(Sender: TObject);
begin
Button1.SetFocus;
end;
Висновок
У даній темі розглянуто:
- Встановлення послідовності отримання фокусу введення компонентами форми при натиску на клавішу Tab (Shift+Tab). Слід зауважити, що не всі компоненти Delphi можуть отримувати фокус введення (наприклад компонент TLabel).
- Встановлення програмним шляхом фокусу введення для потрібного компонента (елемента управління) з допомогою виклику метода SetFocus.