Текущий архив: 2003.04.14;
Скачать: CL | DM;
ВнизКак правильно осуществить переход между полями ввода (Edit) Найти похожие ветки
← →
Бульбаш (2003-04-02 10:40) [0]по клавише Enter. Пошла критика, что Tab это кривость, хотя меня вполне устраивает, но юзвери переходят с доса и кричат. Пробовал обработчик OnkeyDown - чего-то не фунциклирует...
← →
Johnmen (2003-04-02 10:45) [1]+ SelectNext
← →
Жук (2003-04-02 10:52) [2]Я сначала тоже навигацию сделал по Enter"у, но привинтил на каждый переход Beep. Через неделю юзвери пользовались только Tab"ом. :-))) Психология !
← →
stone (2003-04-02 10:52) [3]в OnKeyPress заменить код Ентера на Таб
← →
serg_r_a (2003-04-02 11:04) [4]Небольшой примерчик, может кому еще пригодится
procedure Tform1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
ACtrl: TWinControl;
begin
if key = 13 then
begin
ACtrl := ActiveControl;
if ACtrl is TCustomMemo then exit;
repeat
ACtrl:= FindNextControl(ACtrl,true,true,false);
until (ACtrl is TCustomEdit) or
(ACtrl is TCustomComboBox) or
(ACtrl is TCustomListBox) or
(ACtrl is TCustomCheckBox) or
(ACtrl is TRadioButton);
ACtrl.SetFocus ;
end;
end;
Не забудьте установить свойство формы KeyPreview в true.
← →
Бульбаш (2003-04-02 11:10) [5]А как правильно применить SelectNext? Даю в Edit1KeyDown
if (key=13) then Edit1.SelectNext, пишет
Undeclared identifier: "SelectNext". Пробую Edit2.SetFocus -
реакция нулевая.
← →
Skier (2003-04-02 11:15) [6]procedure TWinControl.SelectNext(CurControl: TWinControl; GoForward, CheckTabStop: Boolean);
← →
Бульбаш (2003-04-02 11:19) [7]Вроде бы заработало, всем большое спасибо :)
← →
Serega (2003-04-02 13:38) [8]Для формы делаешь свойство KeyPreview = True, а затем на событие
OnKeyPress для этой формы "вешаешь" эту процедуру. Фокус переключится на следующий компонент в списке TabOrder. При нажатии на Esc форма будет сразу закрыватьсяю
procedure PressKey(FName: TForm; var Key: Char);
begin
With FName Do
Begin
If Key=#13 Then
Begin
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
End;
If Key=#27 Then
Begin
Key:=#0;
FName.Close;
End;
End;
end;
← →
Anatoly Podgoretsky (2003-04-02 13:55) [9]Через некоторое время будешь получать претензии, уже по поводу Enter, поскольку в других диалогах будет совсем другое поведение.
Страницы: 1 вся ветка
Текущий архив: 2003.04.14;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.007 c