1 / 1 / 1
Регистрация: 06.04.2011
Сообщений: 186
|
|
1 | |
TStringGrid: как изменить цвет линий сетки и отследить скроллинг?29.03.2017, 08:57. Показов 3024. Ответов 2
Метки нет Все метки)
(
1. Можно ли изменить цвет линий сетки, когда в ячейке находится редактор (опции: goEditing и goAlwaysShowEditor)?
2. Как отследить вертикальный скроллинг (типа OnScroll)? Спасибо. Добавлено через 14 часов 17 минут Дополнительно: если сабклассировать InplaceEditor, то как подменить встроенный InplaceEditor стринггрида на свой?
0
|
|
29.03.2017, 08:57 | |
Ответы с готовыми решениями:
2
Как изменить цвет сетки в chart?
Изменить цвет текста и ячейки TStringGrid Изменить цвет сетки в DBGrid |
Супер-модератор
![]() ![]() |
|
29.03.2017, 12:18 | 2 |
![]() Решение
Нет, цвет линий сетки задан раз и навсегда. Чтобы его изменить - придется либо править исходники VCL, либо практически полностью переписывать отрисовку компонента TStringGrid и части его родителей, а это больше 600 строк кода (вариант выставить нулевую ширину линий грида и рисовать разметку самостоятельно не рассматриваю, как кривой по определению)
Использовать событие OnTopLeftChanged Перекрыть метод CreateEditor у StringGrid-а и в нем создать свой редактор. Пример - здесь: Ограничить количество введенных символов в ячейку StringGrid
2
|
1 / 1 / 1
Регистрация: 06.04.2011
Сообщений: 186
|
|
29.03.2017, 14:43 [ТС] | 3 |
Спасибо, volvo, отличный ответ. Попробовал многие эвенты, кроме OnTopLeftChanged, не думал, что его можно использовать.
Насчёт второго тоже мог догадаться: в CreateEditor своего стринггрида давно уже создал свой TInplaceEditList. Теперь там же видимо можно создать и свой InplaceEditor. А линии сетки рисую в OnDrawCell. Кривовато, конечно.
0
|
29.03.2017, 14:43 | |
Помогаю со студенческими работами здесь
3
Из вызывающей программы нужно изменить цвет линий, например, красный на зеленый, как это организовать?
Модуль Graph: изменить цвет фигур и линий
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |