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

Вниз

Програмирование скролинга (выбор алгоритма)   Найти похожие ветки 

 
Skymen   (2007-10-31 11:22) [0]

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


 
homm ©   (2007-10-31 11:26) [1]

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

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


 
clickmaker ©   (2007-10-31 11:40) [2]


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

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



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
3-1190966355
Игорь Шевченко
2007-09-28 11:59
2008.02.10
Как обеспечить невозможность вставки данных в обратном порядке


2-1200159348
istok
2008-01-12 20:35
2008.02.10
показать сообщение не из своей программы


2-1200905130
Max.66RUS
2008-01-21 11:45
2008.02.10
Очень срочно!!! Заплачу WMZ!!! Нужна помошь!!!


2-1200834547
Inslave
2008-01-20 16:09
2008.02.10
Округление


15-1199134818
turbouser
2008-01-01 00:00
2008.02.10
С новым годом!