Не правильное поведение StringGrid'а

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
bestonix
новенький
Сообщения: 66
Зарегистрирован: 15.04.2010 08:26:00
Откуда: Жигулёвск

Не правильное поведение StringGrid'а

Сообщение bestonix »

Доброго здоровья уважаемые.

Стоит у меня Lazarus v.0.9.28.2 бета, версия FPC: 2.2.4

Появилась проблема откуда не ждал. Есть на форме компонент StringGrid у которого есть два события OnExit & OnKeyDown.
Программа запустилась и я просто щелкаю мышкой на StringGir'е. Первое событие которое откликается на это как ни странно OnExit.
Хотя по задумке запись в БД должна произойти по выходу с компоненты т.е. я так понимаю когда он (грид) теряет фокус.

Пробовал прописать и событие OnEnter, прописал там простой оператор ShowMessage('Процедура OnEnter').
На него откликается до OnExit.
Причем срабатывает несколько раз, а затем все равно попадает на OnExit, хотя и не пытался никуда уходить с грида.
Что это и как с этим бороться и можно ли вообще ?

Добавлено спустя 1 час 7 минут 29 секунд:
Такое поведение происходит только при выставленной опции позволяющей редактировать строки.
Такое впечатление, что при этом над соответствующей строкой "рисуется" TEdit или что-то еще.
Тогда становится понятно почему срабатывает событие OnExit
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

bestonix писал(а):Такое впечатление, что при этом над соответствующей строкой "рисуется" TEdit или что-то еще.

Именно так и есть
PS
поэтому в DBGrid-e и и его наследниках очень рекомендую флажок CancelOnExit ставить в false.
bestonix
новенький
Сообщения: 66
Зарегистрирован: 15.04.2010 08:26:00
Откуда: Жигулёвск

Сообщение bestonix »

alexs писал(а):
bestonix писал(а):Такое впечатление, что при этом над соответствующей строкой "рисуется" TEdit или что-то еще.

Именно так и есть
PS
поэтому в DBGrid-e и и его наследниках очень рекомендую флажок CancelOnExit ставить в false.


Со StringGrid'ом значит нужно придумать другой алгоритм ?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Скорее всего - надо пилить исходники.
Ответить