Главная страница
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.035 c
2-1200834547
Inslave
2008-01-20 16:09
2008.02.10
Округление


1-1194027587
Slim
2007-11-02 21:19
2008.02.10
MDI форма заполняла главную форму (от ToolBar-а до самого низа)


15-1199706562
DI-524
2008-01-07 14:49
2008.02.10
Вопрос к владельцам сабжа


15-1199882770
TUser
2008-01-09 15:46
2008.02.10
Имеют ли лицензии "обратную силу"


15-1199341579
lovemaker
2008-01-03 09:26
2008.02.10
Совместимость двух людей