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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
15-1200211384
No_Dead
2008-01-13 11:03
2008.02.10
Это ж что вводить надо&#133


3-1190872890
Sasha_GTI
2007-09-27 10:01
2008.02.10
excel -> Paradox


15-1199960045
Kold
2008-01-10 13:14
2008.02.10
второй монитор


2-1200246721
Steep
2008-01-13 20:52
2008.02.10
Ошибка "I/O error 104"


2-1200906858
Builder
2008-01-21 12:14
2008.02.10
DBCombobox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский