Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.29;
Скачать: CL | DM;

Вниз

Плавная прокрутка TStringGrid   Найти похожие ветки 

 
strgrid   (2008-06-09 20:13) [0]

[b]Как сделать прокрутку (вертикальную) не по строкам грида, а попиксельно (с определенным фиксированным шагом)?[/b]

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

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

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

Нужно решение, которое повторяет архитектуру TStringGrid"a (у меня над ним обертка, 3rd party, именно ее и нужно заставить прокручиваться попиксельно). Найденный на просторах инета NiceGrid - просто не удовлетворяет требованиям архитектуры Borland VCL.


 
tesseract ©   (2008-06-09 20:59) [1]

Периписать отрисовку TStringGrid с нуля. Форумы / статьи тут навряд ли помогут, мозги надо включать, недели на 3.


 
Тын-Дын ©   (2008-06-09 23:12) [2]


> strgrid   (09.06.08 20:13) 


Как вариант:

Положи TStringGrid  и TScrollBar на TPanel.
Grid растяни по вертикали на высоту всех строк (на панели не видно будет, естественно).
При движении скроллбара двигай используй метод TPanel1.ScrollBy(0,Y);


 
Германн ©   (2008-06-10 01:18) [3]


> Нужно решение, которое повторяет архитектуру TStringGrid"a
> (у меня над ним обертка, 3rd party, именно ее и нужно заставить
> прокручиваться попиксельно).

И зачем люди сами себе создают такой геморрой? ССЗБ?


 
DrPass ©   (2008-06-10 01:27) [4]


> Положи TStringGrid  и TScrollBar на TPanel.
> Grid растяни по вертикали на высоту всех строк (на панели
> не видно будет, естественно).
> При движении скроллбара двигай используй метод TPanel1.ScrollBy(0,
> Y);

Эээ... а компоненту ScrollBox со вкладки Advanced чё не взять-то?


 
Тын-Дын ©   (2008-06-10 01:46) [5]


> Эээ... а компоненту ScrollBox со вкладки Advanced чё не
> взять-то?


Уг. Просто лень вспоминать было, где он в палитре находится.
Да и забыл про него-)


 
Германн ©   (2008-06-10 02:10) [6]


> DrPass ©   (10.06.08 01:27) [4]

А "Новички" не знают, что есть палитра!
P.S. "Смысловое ударение" можешь указать любое. (Либо на "есть", либо на "что").


 
strgrid   (2008-06-10 06:37) [7]

> Германн ©   (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.


 
NYMEZIDE   (2008-11-22 18:29) [8]

StringGrid1.Options
последняя опция



Страницы: 1 вся ветка

Текущий архив: 2009.11.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
4-1198157287
p_evghenii
2007-12-20 16:28
2009.11.29
Почему SendMessage работает, а PostMessage нет?


2-1255347243
Alex4555
2009-10-12 15:34
2009.11.29
Как работает assignfile


1-1226584393
CodeMaster
2008-11-13 16:53
2009.11.29
ListBox


3-1230124390
interbase
2008-12-24 16:13
2009.11.29
без sp_executeSQL не обойтись?


2-1255329098
yantux
2009-10-12 10:31
2009.11.29
Сработало исключение EOutOfMemory: как оптимизировать память?