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
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2017, 08:57
Ответы с готовыми решениями:

Как изменить цвет сетки в chart?
Всем привет. Как в chart(диаграмме) изменить цвет сетки? Ну ячеек или столбцов, как их называют. В...

Как изменить цвет всех линий - на черный
Здравствуйте друзья. У меня сложилась такая ситуация, что на чертеже очень-очень много...

Изменить цвет текста и ячейки TStringGrid
Здравствуйте! Помогите изменить цвет текста и ячейки TSringGrid по событию OnDrawCell. Код Delphi...

Изменить цвет сетки в DBGrid
Здравствуйте! Ребята, подскажите, по такому вопросу. Кто-нить знает как можно изменить цвет...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32764 / 21109 / 8139
Регистрация: 22.10.2011
Сообщений: 36,363
Записей в блоге: 8
29.03.2017, 12:18 2
Лучший ответ Сообщение было отмечено vlad2 как решение

Решение

Цитата Сообщение от vlad2 Посмотреть сообщение
Можно ли изменить цвет линий сетки, когда в ячейке находится редактор (опции: goEditing и goAlwaysShowEditor)?
Нет, цвет линий сетки задан раз и навсегда. Чтобы его изменить - придется либо править исходники VCL, либо практически полностью переписывать отрисовку компонента TStringGrid и части его родителей, а это больше 600 строк кода (вариант выставить нулевую ширину линий грида и рисовать разметку самостоятельно не рассматриваю, как кривой по определению)

Цитата Сообщение от vlad2 Посмотреть сообщение
Как отследить вертикальный скроллинг (типа OnScroll)?
Использовать событие OnTopLeftChanged
Цитата Сообщение от vlad2 Посмотреть сообщение
если сабклассировать InplaceEditor, то как подменить встроенный InplaceEditor стринггрида на свой?
Перекрыть метод CreateEditor у StringGrid-а и в нем создать свой редактор. Пример - здесь: Ограничить количество введенных символов в ячейку StringGrid
2
1 / 1 / 1
Регистрация: 06.04.2011
Сообщений: 186
29.03.2017, 14:43  [ТС] 3
Спасибо, volvo, отличный ответ. Попробовал многие эвенты, кроме OnTopLeftChanged, не думал, что его можно использовать.
Насчёт второго тоже мог догадаться: в CreateEditor своего стринггрида давно уже создал свой TInplaceEditList. Теперь там же видимо можно создать и свой InplaceEditor.
А линии сетки рисую в OnDrawCell. Кривовато, конечно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2017, 14:43
Помогаю со студенческими работами здесь

Из вызывающей программы нужно изменить цвет линий, например, красный на зеленый, как это организовать?
Вот такая проблема!!! Есть файл DLL, в нем код для рисования картинки к примеру Canvas->Pen->With...

Можно ли изменить цвет отдельной линии сетки TChart?
Хочу поставить условие, при котором цвет отдельной линии сетки был бы другого цвета. Делал так: ...

Модуль Graph: изменить цвет фигур и линий
Как сделать, что бы цвет линий, фигур был черным? Когда я пишу SetColor(0); , то линии делаются...

Есть ли возможность изменить цвет линий, разделяющих пиксели?
Доброго времени суток. Есть ли возможность изменить цвет линий, разделяющих пиксели?(см.рис.)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru