Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];

Вниз

Плавная прокрутка 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
1-1226314117
lod
2008-11-10 13:48
2009.11.29
Ошибка


15-1254342609
Юрий
2009-10-01 00:30
2009.11.29
С днем рождения ! 1 октября 2009 четверг


2-1255597644
night_light
2009-10-15 13:07
2009.11.29
Resource TmyForm not Found


2-1255437491
alkul93
2009-10-13 16:38
2009.11.29
Сложная задача


4-1223538073
Дмитрий Белькевич
2008-10-09 11:41
2009.11.29
Асинхронный ввод двух бит через ком порт





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский