Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.24;
Скачать: CL | DM;

Вниз

Передача фокуса ввода другому элементу нажатием Enter   Найти похожие ветки 

 
Miss ©   (2002-06-10 12:46) [0]

Здравствуйте! Пожалуйста помогите! В одной из форм проекта располагается несколько DBEdit, при нажатии Enter фокус ввода передается следующему компоненту, например:
procedure TfmDrPRikaz.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
DBEdit22.SetFocus;
end;
Нажатием кнопки на этой форме открывается еще одна форма, которая тоже содержит несколько DBEdit, но аналогичный код в обработчиках события OnKeyPress не работает, т.е. фокус ввода не передается другому элементу нажатием клавиши Enter?


 
oss   (2002-06-10 12:55) [1]

на keyup
if #13=chr(key) then
FindNextControl(sender as TWinControl,true,false,false).setfocus
else ch:=true;


 
oss   (2002-06-10 12:57) [2]

вернее можешь цеплять куда угодно, главное Enter отлови


 
oss   (2002-06-10 12:57) [3]

вернее можешь цеплять куда угодно, главное Enter отлови
и ch тебе тоже не надо :))


 
Yuri-7   (2002-06-10 12:57) [4]

Попоробуй обработку посадить на OnEnter


 
Producer   (2002-06-10 13:34) [5]

2 Yuri-7: Ну и причем здесь событие OnEnter?
Человек имел ввиду нажатие кнопки Enter.

Теперь 2 Miss:
Делаешь общий обработчик события onKeyPress для нескольких компонентов (для тех, нажатие Enter на которых должно приводить к передаче фокуса ввода):
procedure TMyForm.EnterPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then
begin
Key := #0; // чтобы не "пикал"
SelectNext(Sender as TWinControl, true, true);
end;
end;


 
Song ©   (2002-06-10 13:35) [6]

TForm.KeyPreview в True
А дальше обрабатьывай TForm.onKeyDown


 
Miss ©   (2002-06-11 10:37) [7]

Thank! Вариант на KeyUp работает, а ch и правда не нужно


 
Sava ©   (2002-06-11 11:26) [8]


Можно еще модернезировать предложение Producer :
1. У формы KeyPreview := true;
2.

Procedure Tform1.FormKeyPress(Sender: TObject, var key: char);
begin
if key = #13 then
begin
key:=#0;
perform(wm_nextdlgctl,0,0);
end
end;



Страницы: 1 вся ветка

Текущий архив: 2002.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
8-77510
ArtS
2002-02-09 21:40
2002.06.24
Различные эффекты для графики


3-77320
Shrek
2002-05-31 23:31
2002.06.24
Ну очень простой вопрос!


14-77554
sergey32
2002-05-20 10:27
2002.06.24
Можно ли установить Windows NT на FAT32?


4-77683
Ильясов Вадим
2002-04-26 12:06
2002.06.24
Ошибка при взятии иконки с программ


14-77558
Malder
2002-05-14 19:37
2002.06.24
Master Of Magic & Windows