![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Плавная прокрутка TStringGrid [D7]
strgrid © (2008-06-09 20:13:00)[b]Как сделать прокрутку (вертикальную) не по строкам грида, а попиксельно (с определенным фиксированным шагом)?[/b]
[b]И соответственно как лучше исправить поведение ScrollBar'ов TStringGrid'a под новый формат прокрутки?[/b]
Всяко разно пробовал подойти к решению задачи. Излазил кучу ресурсов.
Смотрел в сторону ModifyPixelScrollBar и FColOffset'a (используется для горизонтальной попиксельной прокрутки при 1 столбце), не подходит.
Нужно решение, которое повторяет архитектуру TStringGrid'a (у меня над ним обертка, 3rd party, именно ее и нужно заставить прокручиваться попиксельно). Найденный на просторах инета NiceGrid - просто не удовлетворяет требованиям архитектуры Borland VCL.
NYMEZIDE (2008-11-22 18:29:00) [1]StringGrid1.Options
последняя опция
strgrid (2008-06-10 06:37:00) [2]> Германн © (10.06.08 02:10) [6]
Всякое бывает.
> Тын-Дын © (09.06.08 23:12) [2]
> DrPass © (10.06.08 01:27) [4]
Проблема в том, что грид на 2000-3000 строк (виртуальный), средний размер строки 60 px. В итоге уже где-то на половине строк встает проблема длины компонента. Кто именно "глючит" (максимальный размер задан? хотя сомневаюсь что там стоит лимит) либо максимальный range scrollbar'a у TScrollBox'a.
Германн (2008-06-10 02:10:00) [3]
> DrPass © (10.06.08 01:27) [4]
А "Новички" не знают, что есть палитра!
P.S. "Смысловое ударение" можешь указать любое. (Либо на "есть", либо на "что").
Тын-Дын (2008-06-10 01:46:00) [4]
> Эээ... а компоненту ScrollBox со вкладки Advanced чё не
> взять-то?
Уг. Просто лень вспоминать было, где он в палитре находится.
Да и забыл про него-)
DrPass (2008-06-10 01:27:00) [5]
> Положи TStringGrid и TScrollBar на TPanel.
> Grid растяни по вертикали на высоту всех строк (на панели
> не видно будет, естественно).
> При движении скроллбара двигай используй метод TPanel1.ScrollBy(0,
> Y);
Эээ... а компоненту ScrollBox со вкладки Advanced чё не взять-то?
Германн (2008-06-10 01:18:00) [6]
> Нужно решение, которое повторяет архитектуру TStringGrid'a
> (у меня над ним обертка, 3rd party, именно ее и нужно заставить
> прокручиваться попиксельно).
И зачем люди сами себе создают такой геморрой? ССЗБ?
Тын-Дын (2008-06-09 23:12:00) [7]
> strgrid (09.06.08 20:13)
Как вариант:
Положи TStringGrid и TScrollBar на TPanel.
Grid растяни по вертикали на высоту всех строк (на панели не видно будет, естественно).
При движении скроллбара двигай используй метод TPanel1.ScrollBy(0,Y);
tesseract (2008-06-09 20:59:00) [8]Периписать отрисовку TStringGrid с нуля. Форумы / статьи тут навряд ли помогут, мозги надо включать, недели на 3.