Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Програмирование скролинга (выбор алгоритма) [D6, Win2k]


Skymen ©   (2007-10-31 11:22:00) 

Пишется компонент-редактор текстово-графический - стандартные компоненты типа Мемо и RichEdit не подходят - специфика задачи.
Отрисовка данных реализована, но встал вопрос как лучше организовать скролинг:
- либо вычислять какая часть будет видима и отрисовывать только ее (+функции редактора очевидно будут проще, - сложные вычисления какая же часть видима и реализация плавного скролинга)
- либо рисовать все сразу на длинном Canvase и засовывать в Scrollbox - (- функции редактора усложняются пересчетом экранных координат в координаты объектов и символов всего изображения, +scrolling фактически на шару, - боюсь сильного падения скорости при больших документах и расход памяти опять же)
Вопрос: Есть ли еще варианты? Есть ли у кого-нибудь подобный позитивный или негативный опыт? Интересно как скролинг реализован в Microsoft Word - может кто знает?


clickmaker   (2007-10-31 11:40:00) [1]


> либо вычислять какая часть будет видима и отрисовывать только
> ее

да
плюс использовать memory-mapped bitmap, рисовать туда, а потом его - на канву


homm   (2007-10-31 11:26:00) [2]

> [0] Skymen   (31.10.07 11:22)
> Интересно как скролинг реализован в Microsoft Word - может кто знает?

Ну ясно - понятно, что там десятки страниц перерисовываются на одну длинную канву каждый раз при перерисовки одного окошка…
Если что это стеб…


Наверх

Титульная страница Поиск, карта сайта Написать письмо