Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Delphi. Верхние и нижние индексы в RichEdit


Автор: Geom 1.3.2006, 15:27
Есть документ в формате RTF, в нем текст с использованием верхних и нижних индексов. Гружу этот документ в объект RichEdit с помощью LoadFromFile. При отображении в Win98 он выглядит так же, как если бы его открывали с помощью Ворда.
В Win2k и WinXP ситуация другая.
При отображении объекта положение индексов отличается от того, что дает при открытии этого документа Word. Верхние индексы слишком низко, а нижние слишком высоко, их низ практически вровень с низом букв основного текста.
Использовал Delphi 5 и 7. Разницы нет. Также нет разницы, под какой операционкой собирать экзешник.
Какой параметр и где надо покрутить, чтобы избавиться от этого эффекта?

Автор: Snowy 1.3.2006, 15:34
Никак. Дельфи тут ничем помочь не сможет.
Просто в разных системах установлен RichEdit разных версий.
Если я не путаю, то зависит он от IE.
Если версия IE на машинах будет одинаковая, то и текст будет выглядеть одинаково.

Автор: Geom 1.3.2006, 15:42
Так в том-то и штука, что все происходит на одной и той же машине.

Автор: Yanis 1.3.2006, 15:50
Цитата(Geom @ 1.3.2006, 15:42 Найти цитируемый пост)
Так в том-то и штука, что все происходит на одной и той же машине.

А тебе не про машину втолковывают. Читай внимательнее:

Цитата(Snowy @ 1.3.2006, 15:34 Найти цитируемый пост)
в разных системах установлен RichEdit разных версий

Автор: Geom 1.3.2006, 16:20
А при чем здесь тогда IE? Его версия, ессно, одинаковая внутри одной и той же операционки.
Может я непонятно описал проблему? Оставим в покое Win98, поскольку там проблем нет.
В WinXP открываем документ Вордом. Выглядит нормально. Открываем моей программкой тот же документ в той же WinXP - индексы не на том месте. Отличие, стало быть, между RichEdit в Delphi и его аналогом в Ворде. Интересно, что одна и та же версия Ворда одинаково отображает документ и в ХP, и в 98. То есть, она умеет отслеживать небольшие отличия фонтов в XP от фонтов в 98. Вот и спрашиваю, есть ли что покрутить, чтобы научить дельфийный RichEdit понимать эти отличия.
Пробовал rxRichEdit. Песня та же.

Автор: Snowy 1.3.2006, 16:29
Word это далеко не RichEdit. Даже рядом не пробегал.


Цитата(Geom @ 1.3.2006, 16:20 Найти цитируемый пост)
Пробовал rxRichEdit. Песня та же.
Естественно. Весде используется системный RichEdit.

Автор: Guedda 1.3.2006, 16:38
Попробуй открой файл WordPad'ом
Там RichEdit по любому. Если будет также, как и в твоей проге, то, думаю, начинай писать свой Rich smile

Автор: Geom 1.3.2006, 16:40
Word это далеко не RichEdit. Даже рядом не пробегал
Разумеется, но по конечному результату вполне можно сравнивать.

То есть, проблема решения в области действительных чисел не имеет... Вообще, странно это. Неужели недоступен параметр, который определяет расположение индекса относительно основного текста. Или он вычисляется по одной и той же формуле из размера букв, а размер букв для фонтов в XP немного меньше? Ворд же как-то решает эту проблему.

Автор: Snowy 1.3.2006, 16:45
Цитата(Geom @ 1.3.2006, 16:40 Найти цитируемый пост)
Word это далеко не RichEdit. Даже рядом не пробегал
Разумеется, но по конечному результату вполне можно сравнивать.
Можно и HTML открыть в ворде и в IE. И гадать, почему не похоже.


Цитата(Geom @ 1.3.2006, 16:40 Найти цитируемый пост)
Неужели недоступен параметр, который определяет расположение индекса относительно основного текста.
Нет.


Цитата(Geom @ 1.3.2006, 16:40 Найти цитируемый пост)
Ворд же как-то решает эту проблему.
У ворда и возможностей больше. А решает потому, что он сам рисует так, как ему нужно.

Автор: Geom 1.3.2006, 17:17
Guedda, в ВордПаде так же, как и в моей софтине.
Цитата

Если будет также, как и в твоей проге, то, думаю, начинай писать свой Rich

Обнадежил smile
Интересно, что ВордПад индексы задавать не умеет, однако отображает. Но не совсем так, как хотелось бы.
Мне казалось, что видел какую-то ссылочку на тему индексов в RTF, но не могу вспомнить, где smile
Добавлено @ 17:28
Вот, нашел ту ссылку:
http://www.megalib.com/books/923/22019.htm
Там речь идет, насколько я понял, об установке смещения индекса, но для этого надо определить, что именно объявлять индексом, то есть самостоятельно растаскивать структуру RTF.
Похоже, никуда от этого не деться smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)