Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

тормознутый ValueListEditor

302
03 декабря 2004 года
Sagittarius
648 / / 12.04.2003
У компонента ValueListEditor есть обработчик OnValidate. По идее он должен вызываться когда пользователь закончил редактировать ячейку, но этот гадкий, мерзкий, противный компонент вызывает данный метод только когда переместишь фокус на другую ячейку (что собственно в хелпе и написано). Мне это совсем не нравится. Мне необходимо чтобы обработчик сразу же после того, как пользователь закончил редактирование, i.e. нажал Enter, перевел фокус на другую ячейку, компонент потерял фокус.
Как его заставить такое сделать? Скорее всего решение кроется в InplaceEditor, но я его (решение) пока что не нашел. :(

З.Ы. А вообще у меня класс наследник от TValueListEditor, где перехватываю DoInValidate.
301
03 декабря 2004 года
lord Kelvin
897 / / 08.11.2004
Может быть так?
OnKeyPress + if(Key==13)...
302
06 декабря 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by lord Kelvin
Может быть так?
OnKeyPress + if(Key==13)...


Помогло! Спасибо.
Я только одного не пойму, почему KeyPress срабатывает, а KeyDown - нет?

301
06 декабря 2004 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by Sagittarius

Помогло! Спасибо.
Я только одного не пойму, почему KeyPress срабатывает, а KeyDown - нет?


Потому что KeyDown - "кнопка с синдромом Дауна", вот он и не срабатывает.=)))
На самом деле попробуй поиграть с KeyPreview главной формы.

302
06 декабря 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by lord Kelvin

Потому что KeyDown - "кнопка с синдромом Дауна", вот он и не срабатывает.=)))
На самом деле попробуй поиграть с KeyPreview главной формы.


Нет. С KeyPreview не получится. Я делаю новый компонент на основе TValueListEditor, поэтому вторгаться в чужую жизнь, я не имею права. :)

10
06 декабря 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Sagittarius
Я только одного не пойму, почему KeyPress срабатывает, а KeyDown - нет?


Возможно, грид сам эмулирует нажатие соответствующей клавиши. Не знаю, как обычный грид, но в коде DB-грида подобных приколов хоть отбавляй.

302
07 декабря 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by smartsoft

Возможно, грид сам эмулирует нажатие соответствующей клавиши. Не знаю, как обычный грид, но в коде DB-грида подобных приколов хоть отбавляй.


ИМХО все дела в InplaceEditor, который перехватывает сообщения от клавиатуры.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог