![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid [D6, dBase, FoxPro]
Dub © (2004-08-17 04:15:00)Создал форму, на неё поместил DBGrid (использую не BDE, а TDBF - компонент). При заполнении таблицы (наглядность обеспечивается DBGrid'ом) перемещение для создания новой записи происходит по нажатию кн. TAB ( по нажатию происходит сохранение предыдущей записи). Вопрос : где можно найти обработчик этого события (нажатие TAB) и к какому компоненту он должен быть привинчен. Заранее спасибо всем ответевшим!!!
Skyle (2004-08-17 09:27:00) [1]
> вот Action для Грида не нашёл
Тут будет не Action для грида, а что-то типа
procedure TMyform.MyActionExecute(Sender : TObject);
begin
{Вот тут необходимое насилие над гридом при получении Tab}
end;
> каким образом можно перекрывать методы
Почитай в справке. Ключевые слова override, virtual.
Думаю их хватит.
Dub (2004-08-17 09:04:00) [2]Действие создать TActionList получилось, а вот Action для Грида не нашёл - это не кнопка и не меню !!! Поэтому
каким образом можно перекрывать методы (в частности для грида, и вообще )?
Skyle (2004-08-17 07:22:00) [3]
> OnKeyDown - срабатывает по нажатию Shift'а,
А Tab - уже не Key?
Другое дело, что до него (до TDBGrid) KeyDown для Tab может не дойти.
Потому как Tab - особая кнопка, сначала посылается особое сообщение, которое может обработаться ДО возникновения WM_CHAR (и соответственно всяких KeyDown, KeyPress). Поэтому самым простым способом обработать его будет создание Action с нужным шоткатом (шоткаты проверяются в первую очередь). Про Action смотри TActionList.
Если есть желание поглядеть подробнее, то см. реализацию TWinControl.CNKeyDown.
Другим способом получить желаемое будет перекрытие у твоего грида вышеуказанного метода TWinControl.
Dub (2004-08-17 06:52:00) [4]OnKeyDown - срабатывает по нажатию Shift'а,
а необходимо, чтобы по TAB'у ???
Actions- что имеется в виду?
TUser (2004-08-17 05:31:00) [5]OnKeyDown у грида.
Actions