Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Плавная прокрутка TStringGrid


Автор: NaumLeNet 9.6.2008, 19:18
Как сделать прокрутку (вертикальную) не по строкам грида, а попиксельно (с определенным фиксированным шагом)?

И соответственно как лучше исправить поведение ScrollBar'ов TStringGrid'a под новый формат прокрутки?

Всяко разно пробовал подойти к решению задачи. Излазил кучу ресурсов.

Смотрел в сторону ModifyPixelScrollBar и FColOffset'a (используется для горизонтальной попиксельной прокрутки при 1 столбце), не подходит.

Как вариант готов даже использовать скопированный и модифицированный Grids.pas (если не получается перекрытием методов / сообщений). Главное чтобы не нарушилась логика / архитектура TStringGrid'a, только визуализация. Т.е. нужно решение, которое повторяет архитектуру TStringGrid'a (у меня над ним обертка, 3rd party, именно ее и нужно заставить прокручиваться попиксельно). Найденный на просторах инета NiceGrid - просто не удовлетворяет требованиям архитектуры.

Автор: Akella 10.6.2008, 13:23
т.е. тебе нельзя использовать стринг гриды третьих фирм? только стандартный?

Автор: NaumLeNet 10.6.2008, 14:24
Цитата(Akella @ 10.6.2008,  13:23)
т.е. тебе нельзя использовать стринг гриды третьих фирм? только стандартный?

У меня купленный TAdvStringGrid, который унаследован от TStringGrid'a (Borland VCL). Он целиком вписан в архитектуру TStringGrid'a без особенных выворотов. 

Поэтому идеальным вариантом будет либо заменить Borland TStringGrid на модифицированный с плавной прокруткой и архитектурой 1-в-1, либо унаследовать TAdvStringGrid (исходники есть) от наследника простого TStringGrid с внесенными модификациями (попиксельная прокрутка).

TAdvStringGrid замене не подлежит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)