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

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

Почему нажатие Tab в DBGrid переводит курсор на следующую запись? [D5, Win95/98, Win2k]


forrest1 ©   (2002-02-21 16:37:00) 

Салют мастерам!
В названии темы уже практически всё сказано.
На форме 2 DBGridа Пусть фокус сосредоточен на DBGrid1. При нажатии клавиши Tab фокус перемещается на DBGrid2,
что вообщем-то вполне очевидно, если DBGrid2.TabStop=True.
Всё так и происходит, однако в DBGrid1 активной становится не та запись, на которой стоял курсор в момент нажатия Tab, а следующая.
Вопрос: Как сделать так, чтобы активной оставалась та же запись??(точнее, чтобы курсор не перемещался на следующую)
Спасибо.
P.S. При нажатии клавиши Tab в событии DBGrid1.OnKeyDown
Key имеет значение 9(проверял), что соответсвует Tab.


forrest1   (2002-02-27 11:43:00) [1]

to Johnmen
Ты гений!
Благодарю!


Johnmen   (2002-02-26 09:52:00) [2]

Ну вот видишь, сначала-то не сказал, что колонка одна...
Решение одно : обрабатывай KeyDown для DBGrid1 !
Примерно так :
if Key=9 then begin;
Key=0;
DBGrid2.SetFocus;
end;


forrest1   (2002-02-26 09:09:00) [3]

Неужели нет ответа???????? :))


forrest1   (2002-02-22 14:36:00) [4]

to Deus:
Спасибо! А без этого нельзя? А то как-то некрасиво, да и код
запутывает.

to Johnmen:
точно говорю. именно так всё и происходит. Попробуй поставь два DBGrida на Form. Точно говорю. Чтобы проще было понять сделай, чтобы в DBGridах была только одна колонка из Recordseta
Мой вопрос остаётся в силе.


Johnmen   (2002-02-21 17:03:00) [5]

Не могёт таково быть !
Что-то ты не все сказал :)


Deus   (2002-02-21 16:56:00) [6]

а если в этом событии DBGrid1.OnKeyDown
присвоить Key:=nil;?
Или просто делать DBGrid1.DataSource.DataSet.Prior


Наверх

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