Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как по нажатию на ENTER сделать переход с DBEditEh1 на DBEditEh2 [D5, MSSQL, ]


Jony ©   (2001-12-25 09:26:00) 

Из форума узнал, что переход между DBEdit по Enter как по Tab можно организовать следующим образом:

procedure Form1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then begin
Perform(WM_NEXTDLGCTL, 0, 0);
Key:=0;
end;
end;

Очень удобно. А вот для DBEditEh такой номер не проходит. Почему? И что нужно сделать, чтобы прошло?


Jony   (2001-12-26 13:22:00) [1]

>alina
Можно и так, но если изменится последовательность расположения DBEdit на форме, то придется переписывать код. А выше предлагаемык варианты автоматически отследивают порядок элементов, уствновленный в TabOrder. Согласись, что это более удобно и именно это мне нужно было.
Все равно, спасибо.


alina   (2001-12-26 12:14:00) [2]

procedure TEditLagerForm.PasportEditKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then DBEdit2.SetFocus;
end;


Jony   (2001-12-25 13:49:00) [3]

>Desdechado
Большое спасибо!
Пошло в связке

if Key=VK_RETURN then begin
Perform(WM_NEXTDLGCTL, 0, 0);
Key:=VK_TAB;
end;

Хотя внутри блока можно операторы поменять местами - эффект тот-же.


Desdechado   (2001-12-25 13:25:00) [4]

попробуй (не проверял)
if Key=VK_RETURN then
Key:=VK_TAB;


Jony   (2001-12-25 10:49:00) [5]

В DBGridEh - есть, а в DBEditEh - нет.


knyaz17   (2001-12-25 10:44:00) [6]

Помоему в OptionsEh есть опция EnterAsTab.


Наверх

Титульная страница Поиск, карта сайта Написать письмо