noname |
Отправлено: 05.11.2004, 18:44 |
|
Не зарегистрирован
|
Требуется отобразить степень числа (2^5, чтобы 5 было написано выше 2 — как в алгебре) в RichEdit'е. Как это сделать?
В RichEdit есть свойство — Lines. Как туда записать текст разных шрифтов, размеров? |
|
avc* |
Отправлено: 06.11.2004, 14:59 |
|
Не зарегистрирован
|
Командами форматирования.
Напишите в Worde сохраните как rtf вставьте себе.
Если не получится в понеделбник помогу. |
|
Guest |
Отправлено: 09.11.2004, 18:46 |
|
Не зарегистрирован
|
Если загружать rtf — все отображается, но проблема в том, что недопустимо таскать с программой rtf файл с текстом.
Опишу проблему подробно.
Необходимо отображать простейшие математические формулы (со степенями, индексами, греческими символами). Для этого создаю RichEdit c необходимым текстом. Причем, если, например, требуется символ "пи", то записываю символ с ASCII кодом символа "пи" в шрифте "Symbol" (в этом случае 112 — "p"). Потом в OnCreate RichEdit'а
заменяю шрифт записанного сивола на "Symbol". (было "p" в TimesNewRoman — стало "пи" в Symbol). Но как отображать степени и индексы? Может быть менять стиль символа?
|
|
Rius |
Отправлено: 09.11.2004, 19:53 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
Если ничего не получится, посмотри в инете компонент RichView.
|
|
Valdemar |
Отправлено: 10.11.2004, 09:34 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Или посмотрите HTMLLabel из TMS Component Pack (www.tmssoftware.com), он поддеживает простые html-теги, с помощью которых можно будет отображать надстрочные и подстрочные индексы. |
|
AVC |
Отправлено: 10.11.2004, 10:07 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Если загружать rtf — все отображается, но проблема в том, что недопустимо таскать с программой rtf файл с текстом
|
Я вообще имел ввиду не таскать rtf, а посмотреть коды форматирования.
Файл создается как строка в памяти и показывается через TRichEdit
Например так
CODE |
AnsiString str = "
{\\rtf1\\ansi\\ansicpg1251\\deff0\
{\\fonttbl\
{\\f0\\fnil Arial;\
\\f1\\fnil Courier New;\
}\
}\
{\\colortbl\
;\
\\red000\\green000\\blue255;\
\\red128\\green000\\blue000;\
\\red255\\green255\\blue255;\
}\
\\lang1049\\viewkind4\\uc1\
\\pard\\qc\
\\f1\\fs48\\cf3\\highlight2\\b\\~A\\~s\\~d\\~\\b0\\highlight0\
\\par \
\\pard\\ql\
\\f0\\fs24\\cf0\
Some text \
\\cf1\\u\l\b\\i link sample\\cf0\\ulnone\\b0\\i0\
Other text\
\\par \
}\
";
REdit1->PlainText = false;
TStringStream *ss = new TStringStream(str);
try { REdit1->Lines->LoadFromStream(ss); }
__finally { delete ss; }
|
|
|
avc* |
Отправлено: 10.11.2004, 11:30 |
|
Не зарегистрирован
|
PS. TRichEdit поддерживает далеко не все теги rtf |
|
noname |
Отправлено: 10.11.2004, 18:18 |
|
Не зарегистрирован
|
Всем большое спасибо за информацию! |
|
noname |
Отправлено: 11.11.2004, 18:34 |
|
Не зарегистрирован
|
to avc*...
а какой тег отвеяает за степень и индекс? |
|
AVC |
Отправлено: 12.11.2004, 09:04 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
CODE |
{\rtf1\ansi\ansicpg1251\deff0\deflang1049\deflangfe1049{\fonttbl{\f0\fnil\fcharset204 ;}{\f1\fswiss\fcharset0 Arial;}{\f2\fnil\fcharset204 ;}}
{\colortbl;\red255\green255\blue255;\red128\green0\blue0;\red0\green0\blue255;}
\viewkind4\uc1\pard\nowidctlpar\qc\cf1\lang1033\b\f0\fs48 \highlight2\f1 Asd \highlight0\b0\f0\par
\pard\nowidctlpar\cf0\f2\fs24 Some text \cf3\ul\b\i link sample\ulnone\b0\i0 \cf0 Other text\par
\pard\nowidctlpar\cf0\f2\fs24 основание\up12\fs18степень\up0
\fs24продолжение текста
\par
}
|
Последние три строки — то о чем вы спрашиваете |
|