2013-07-03 3 views
2

В RTF можно ли создать слово с рамкой вокруг него? Я не уверен, что Table - правильный выбор, потому что я не хочу получать проблемы с выравниванием.RTF - коробка вокруг слова?

  • высота линии должна быть такой же, как обычный текст
  • цвет границы
  • должны вести себя как нормальный текст

(не имеет значения, но я работаю в C# с RTF)

+0

Возможный дубликат: http://stackoverflow.com/questions/6158291/how-to-draw-border-around-a-word-in-richtextbox – ToastyMallows

+0

@ToastyMallows Это совсем другой путь. Я ищу RTF-решение. Я не рисую, я манипулирую строки RTF-кода. – Bitterblue

ответ

1

Вы можете поместить границы вокруг текста и абзацев в формате RTF следующим образом: RTF показывает

{\rtf1 
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red255\green0\blue0;\red0\green255\blue0;} 
\pard\plain 
\brdrt\brdrs\brdrw10\brsp20\brdrcf2 
\brdrl\brdrs\brdrw10\brsp80 
\brdrb\brdrs\brdrw10\brsp20 
\brdrr\brdrs\brdrw10\brsp80 
Hello 
{\chbrdr\brdrs\brdrw10\brsp20\brdrcf3 World} 
} 

Чтобы выделить одно слово, начинающееся с ключевого слова \chrbrdr (это касается границ со всеми сторонами, вы не можете иметь разные границы с каждой стороны для текста, но вы можете использовать абзацы). Затем стиль границы изменяется по следующим ключевым словам:

\brdrs - устанавливает единственную границу толщины. Есть много альтернативных стилей границ, как двойной, тире, точка-тире и т.д. Подробнее см RTF specification

\brdrw10 - устанавливает ширину границы, в твипах (Твип является двадцатую точки). Здесь до 10 twips

\brsp20 - устанавливает разделение границы с текстом, снова в twips - здесь задано 20 твипов. Обратите внимание, что слишком высокое значение этого параметра может повлиять на интервал между линиями.

brdrcf3 - устанавливает цвет границы по индексу в таблицу цветов.

Как вы можете видеть в примере, вы заканчиваете выделение границы словом, просматривая выделение с помощью пары {}.

Пример RTF также показывает границу абзаца, где можно установить стиль для верхней, нижней, левой и правой границ отдельно.

Возможно, некоторые зрители RTF могут не реализовывать отображение границ текста и/или абзаца. Пример выше отображается правильно для меня в Microsoft Word (2013), но на самом деле я не могу найти способ редактировать границу слова внутри пользовательского интерфейса Word. Редактирование границы абзаца доступно в диалоговом окне «Форматирование абзаца».

+0

Я не могу заставить вас попробовать образец. Я использую RichTextBox из C#. Он может отображать таблицы. И я не уверен, что это то же самое, что и ваш образец. Мне не нужны таблицы, но я хочу, чтобы текст был окружен границей. – Bitterblue

+0

А, ок, я не понимал, что вы используете RichTextBox - думал, что вы создаете RTF, используя C# для отображения в Word или аналогичном (образец выглядит правильно в Word). Похоже, что RichTextBox не поддерживает отображение границ абзаца или текста, что и должно быть сделано в RTF. Я не могу придумать другой способ сделать это в RTF прямо сейчас - таблицы будут мешать потоку документа (они всегда одни на линии). Некоторые идеи: * Изменение от RTF в HTML - должно быть легко поставить границу на * Попробуйте альтернативный контроль в формате RTF (различные компании продают за $$$) – RobinG

+0

Можете ли вы предоставить небольшой скриншот того, что вы видите в слово ? Или дать подсказку, как я могу сделать слово «интерпретировать» RTF-код? – Bitterblue

Смежные вопросы