Доброго здоровья уважаемые.
Стоит у меня 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
Не правильное поведение StringGrid'а
Модератор: Модераторы
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
bestonix писал(а):Такое впечатление, что при этом над соответствующей строкой "рисуется" TEdit или что-то еще.
Именно так и есть
PS
поэтому в DBGrid-e и и его наследниках очень рекомендую флажок CancelOnExit ставить в false.
alexs писал(а):bestonix писал(а):Такое впечатление, что при этом над соответствующей строкой "рисуется" TEdit или что-то еще.
Именно так и есть
PS
поэтому в DBGrid-e и и его наследниках очень рекомендую флажок CancelOnExit ставить в false.
Со StringGrid'ом значит нужно придумать другой алгоритм ?
