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

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

Inplace Editor в StringGrid с реакцией на завершение ввода.


GuAV ©   (2005-11-21 16:52:00) 

Требуется добавить в StringGrid InplaceEditor, который реагировал бы на введенное значение только при выходе, с возможностью не отображать его для отдельных ячеек и с возможностью проверки и отмены ввода при выходе.

В найденных примерах я видел установку своего контрола поверх ячейки. Однако, такой способ приводит к неверной реакции на прокрутку колеса мыши (контрол попадает в соседнюю ячейку).

В TInplaceEdit жестко прописано поведение реагировать на каждый введённый символ, поэтому проверка и примемение/отмена ввода только при выходе затруднена.

Как же тогда осуществить такой InplaceEditor ?


GuAV   (2005-11-21 22:30:00) [1]


> при потребности валидных данных или запрете
> редактирования: если IsEditMode, то дать фокус гриду.

Это не получается.
Хотя меня это не очень беспокоит. Заместо запрета на редактирования я просто восстанавливаю данные после, а для обработки данных грид в любом случае теряет фокус.


GuAV   (2005-11-21 17:38:00) [2]


> Leonid Troyanovsky ©   (21.11.05 17:12) [1]


Спасибо.

Этого мне достаточно: я буду запоминать значение при переключении в EditMode, а при выходе с отменой - восстанавливать; при потребности валидных данных или запрете редактирования: если IsEditMode, то дать фокус гриду.


Leonid Troyanovsky   (2005-11-21 17:12:00) [3]


> GuAV ©   (21.11.05 16:52)  

> Как же тогда осуществить такой InplaceEditor ?


Не знаю как насчет других пунктов, но реакцию
на завершение редактирования добавить несложно.

http://groups.google.com/group/fido7.ru.delphi/msg/b7f75355f95bbd2b

--
Regards, LVT.


Наверх

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