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

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

фокус ввода


anton773 ©   (2006-10-13 21:28:00) 

Здравствуйте! Почему DBGrid получает фокус ввода всегда в первую очередь. Т.Е если на форме кроме DBGrid есть еще компоненты то при показе формы невозможно передать фокус ввода другому компоненту. пробовал так: Combobox1.setfocus; пробовал выставлять для DBGrid  TabStop:= false; - не помогает


anton773   (2006-10-14 20:27:00) [1]


> Проверь все свои
> OnCreate
> OnShow
разобрался.
по OnShow у меня идет фильтрация данных и перевод в режим редактирования таблицы.Здесь собака и зарыта....


RASkov   (2006-10-14 03:42:00) [2]

Или проверь свойство у формы ActiveControl на которой лежит непослушник DBGrid - не он ли там?


RASkov   (2006-10-14 02:48:00) [3]

Проверь все свои
OnCreate
OnShow
OnActivate
OnPaint (ну кто его знает)
в такой последовательности они выполняются при создании формы
или если они(методы у тебя) не большие и имеются - кинь сюда.

> TDBGrid то он всегда отбирает фокус ввода у них

Странно все это - не имеет права отбирать если ты его незаставишь.


Германн   (2006-10-14 02:15:00) [4]

А я бы, лично, просмотрел бы все обработчики событий компонент(ов) формы.


Жуков Олег   (2006-10-14 01:09:00) [5]

Я бы поставил Break Point в DBGrid.OnEnter, и по Call stack смотрел откуда вызов.


Германн   (2006-10-14 00:59:00) [6]


> Германн ©   (14.10.06 00:57) [8]

Отменяю. Был не прав. :-(


Германн   (2006-10-14 00:57:00) [7]

> anton773 ©   (13.10.06 23:06) [6]
>
> > TabOrder у тебя, надеюсь, 0 стоит?
>
> Вообще TabStop = false
>

А причём тут "Вообще TabStop = false"? Равно как и TabStop сам по себе?


Leonid Troyanovsky   (2006-10-14 00:13:00) [8]


> anton773 ©   (13.10.06 23:06) [6]


Ищи у себя ошибку.

--
Regards, LVT.


anton773   (2006-10-13 23:06:00) [9]


> TabOrder у тебя, надеюсь, 0 стоит?

Вообще TabStop = false


Джо   (2006-10-13 22:59:00) [10]

У меня ничего не "отбирает". Да и не понятно, зачем бы он это делал :)
TabOrder у тебя, надеюсь, 0 стоит?


anton773   (2006-10-13 22:55:00) [11]


> Попробуй на пустом проекте, со стандартным TDBGrid.

я в принципе не использую левые TDBGrid. А суть проблемы такова: если на форме есть еще какие компоненты кроме TDBGrid то он всегда отбирает фокус ввода у них. Похоже(по моему скромному разумению) единственный выход это временнно отключать Грид


Leonid Troyanovsky   (2006-10-13 22:38:00) [12]


> anton773 ©   (13.10.06 21:44) [2]

> не работает


Попробуй на пустом проекте, со стандартным TDBGrid.

--
Regards, LVT.


anton773   (2006-10-13 21:44:00) [13]


> ActiveControl := Combobox1;

не работает


Leonid Troyanovsky   (2006-10-13 21:37:00) [14]


> anton773 ©   (13.10.06 21:28)  

>  пробовал выставлять для DBGrid  TabStop:= false; - не помогает


procedure TForm1.FormActivate(Sender: TObject);
begin
 ActiveControl := Combobox1;
end;

See also: Tab order

--
Regards, LVT.


Наверх

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