Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2011, 18:37   #1
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию StringGrid — событие после изменения содержимого ячейки

Как сделать, чтобы после изменения значения в ячейке Стринг Грида (goEditing = true) произошло какое-то действие?

OnSetEditText насколько я понимаю реагирует на каждый ввод\удаление символа + после выхода из ячейки. А надо только последнее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.11.2011, 18:57   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

OnExit - при уходе фокуса со StringGrid
OnSelectCell - при выборе другой ячейки StringGrid
mihali4 вне форума Ответить с цитированием
Старый 03.11.2011, 19:30   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
при выборе другой ячейки StringGrid
Не подходит, потому что а если выбрали не ячейку?

OnExit тоже не то, хотелось бы, чтобы как в OnSetEditText после выхода из редактирования ячейки (нажатие ентер или клик в область вне этой ячейки), но при этом не реагировало на каждое изменение содержимого ячейки.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 03.11.2011, 21:26   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Не подходит, потому что а если выбрали не ячейку?
Ну-ка, ну-ка, объясните-ка, что вы можете выбрать в StringGrid-е, если не ячейку ?
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
OnExit тоже не то, хотелось бы, чтобы как в OnSetEditText после выхода из редактирования ячейки (нажатие ентер или клик в область вне этой ячейки), но при этом не реагировало на каждое изменение содержимого ячейки.
Переведите...

Последний раз редактировалось mihali4; 03.11.2011 в 21:29.
mihali4 вне форума Ответить с цитированием
Старый 03.11.2011, 21:27   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

OnGetEditText - начало корректировки, запомнить старое значение и координаты, а также признак, что начата корректировка
По OnSelectCell, OnExit как Михалыч подсказал ловить конец редактирования
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.11.2011, 22:34   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Ну-ка, ну-ка, объясните-ка, что вы можете выбрать в StringGrid-е, если не ячейку ?
Ну OnSelectCell же срабатывает при выделении ячейки. А если выйти из редактирования ячейки нажатием не на Стринг Грид (не переключившись на другую ячейку)? Еще не подходит потому что в этом момент нужно, чтобы была выделена именно та ячейка, а не другая.

OnExit будет работать только если выйти из ячейки переключением на другой компонент (не ячейку того же Стринг Грида).

Цитата:
OnGetEditText - начало корректировки, запомнить старое значение и координаты, а также признак, что начата корректировка
По OnSelectCell, OnExit как Михалыч подсказал ловить конец редактирования
О, точно Что-то протупил эту подсказку.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 03.11.2011 в 22:41.
Alex11223 вне форума Ответить с цитированием
Старый 12.09.2013, 08:07   #7
quakush
Пользователь
 
Регистрация: 23.08.2013
Сообщений: 13
По умолчанию

А можно реальный пример?
quakush вне форума Ответить с цитированием
Старый 12.09.2013, 09:25   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от quakush Посмотреть сообщение
А можно реальный пример?
реальный пример чего именно?
Что он (этот пример) должен делать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.09.2013, 12:08   #9
quakush
Пользователь
 
Регистрация: 23.08.2013
Сообщений: 13
По умолчанию

У меня таблица(Stringgrid) 8*7. И мне пришлось сделать 56 условий (по кол-ву ячеек) по нажатию клавиши Enter. Вводится число в ячейку и по нажатию клавиши ввод оно суммируется с ранее введенным, если раннее не вводилось то 0. А если использовать OnSetEditText, то суммируется каждое число при нажатии клавиши по одиночке и естественно получается туфта.
quakush вне форума Ответить с цитированием
Старый 12.09.2013, 13:15   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

посмотрите, для начала, вот решение основанное на SetEditText
Вложения
Тип файла: rar StringGridSumItogo.rar (1.3 Кб, 1 просмотров)
Тип файла: rar Project3_EXE.rar (192.2 Кб, 1 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
событие было/не было изменения ячейки tae1980 Microsoft Office Excel 3 18.09.2011 22:04
Запуск макроса после изменения содержимого ячейки amd3000 Microsoft Office Excel 5 27.06.2011 16:52
На какое событие повесить процедуру изменения насыщенности шрифта в ячейке? O_H Microsoft Office Excel 3 19.08.2010 20:06
макрос для изменения содержимого ячейки Cawa1990 Microsoft Office Excel 6 24.03.2010 18:19
Запрет изменения содержимого каталог Andrey Безопасность, Шифрование 4 28.09.2009 21:55