Клавиша ENTER вместо клавиши TAB. Вариант 2
Страница 2. Решение 2


 

Решение 2

В. "Есть ли какое-нибудь решение, чтобы использовать клавишу Enter вместа Tab или мыши?"

О. Используйте этот код для обработчика события OnKeyPress компонента Edit:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key = #13 Then
Begin
SelectNext(Sender as tWinControl, True, True );
Key := #0;
end;
end;

Это заставляет клавишу Enter вести себя подобно клавише Tab. Теперь произведите выбор всех элементов управления на форме (кроме кнопок), для которых вы хотели бы применить данное поведение, и назначьте им в Инспекторе Объектов для события OnKeyPress уже созданный нами обработчик EditKeyPress. Теперь каждый компонент, выбранный вами, будет обрабатывать клавишу Enter подобно клавише Tab. Если вы хотите передать функциональность на другой родительский уровень (по сравнению с элементами управления), сбросьте у всех компонентов событие OnKeyPress (просто сотрите название обработчика) и назначьте _формам_ для события OnKeyPress обработчик EditKeyPress. Затем измените Sender на ActiveControl и присвойте свойству форм KeyPreview значение True:

face="Courier New" size="2">

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key = #13 Then
begin
SelectNext(ActiveControl as tWinControl, True, True );
Key := #0;
end;
end;

Это заставит клавишу Enter вести себя подобно клавише Tab для всех (возможных) элементов управления.

 
« Предыдущая статья   Следующая статья »