Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
25.05.2015, 17:29
|
|||
---|---|---|---|
|
|||
Определить текст, который поместился в FormattedText |
|||
#18+
Пишу некую программу, часть функционала которой есть постраничное отображение данных. Сначала текст нужно разбить на страницы, а потом его отображать. Для отображения и разбиения хочу использовать объект FormattedText. Код: c# 1. 2. 3. 4. 5. 6.
Размер области для рисования ограничен: Код: c# 1. 2. 3. 4.
Нужно определить текст который поместится в область, чтобы знать где заканчивается старая страница. И вот на этом месте я застрял... Первая мысль была использовать метод последовательного приближения, закомментировав задание MaxTextHeight, тем самым определяя необходимую для отображения текущего куска текста высоту. Тем более, что примерное количество символов, помещающихся в область, будет известно после первой страницы и итераций на страницу не должно быть слишком много. Но тут, как оказалось, есть существенная проблема - свойство Text у объекьа FormattedText только для чтения, а значит нужно будет постоянно пересоздавать объект, что, вероятно, очень накладно. Вторая мысль была вычислить TextHeight для всего текста и разделить на someHeight (высоту страницы), этот метод я еще попробую, но тоже есть сомнения, что будет работать корректно с разными шрифтами и текстами. Может быть кто-нибудь сталкивался с подобной проблемой или у кого-нибудь есть еще идеи? Неужели никак нельзя вытащить информацию о реально отображенном значении из FormattedText? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/moderation_log.php?user_name=%D0%9F%D0%BE%D0%BB%D0%B8%D0%B3%D1%80%D0%B0%D1%84+%D0%9F%D0%BE%D0%BB%D0%B8%D0%B3%D1%80%D0%B0%D1%84%D0%BE%D0%B2%D0%B8%D1%87]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
2ms |
others: | 438ms |
total: | 603ms |
0 / 0 |