Форматированный текст в диалоговом окне (MFC)

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

01 мар 2005, 11:27

Возможно ли сделать надпись в виде, например математической формулы - число в степени, то есть чтобы один символ был смещён вверх, относительно другого, как в HTML -

X<SUP>a</SUP></P>. Задача - выводить MessageBox или другое диалоговое окно с сообщением, в котором могут встречаться такие символы.
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

01 мар 2005, 13:24

Для этого можно использовать элемент управления "RICHEDIT" и в него записать форматированный текст.
Можно в окно диалога вставить ActiveX компонент веб-браузера и проинициализировать его HTML-текстом. А если ты хочешь сложную математическую формулу отобразить (с дробями, с интегралами), то лучше её отображать как картинку в виде метафайла или битмапа. Тем более для этого есть готовые редакторы формул.
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

01 мар 2005, 14:16

RichEdit почему-то по разному отображает отформатированный таким образом текст в 98 и 2000 Windows, во всяком случае я эксперементировал со вставкой знака ударения над буквой. Я надеялся, что есть проще способ. Спасибо ещё раз.
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

01 мар 2005, 14:41

RichEdit имеет несколько версий. Можно в обоих случаях явно использовать версию 2.0 вместо более ранней, которая по умолчанию используется.
Здесь проблема скорее не в RichEdit, а из-за возможных различий в шрифтах, которые применяются в Windows 2000 и Windows 98. Ещё есть неплохие решения от сторонних разработчиков, вот например элемент QHTM:
http://www.gipsysoft.com/qhtm/doc/qhtm_messagebox.shtml
Ответить