![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как по нажатию на 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.