2013-12-15 12 views
2

У меня есть элемент управления TRichEdit, содержащий исходный код. Я хочу установить фон цвет одной строки.RichEdit, Как установить цвет фона одной строки

Я знаю, как установить цвет , но не существует способа установить цвет фона? Я не говорю о полном цвете фона для всего элемента управления, а только о том, как изменить одну строку.

Нужно ли мне писать пользовательский элемент управления для этого?

ответ

4

Нет свойства TRichEdit для установки цвета фона отдельных символов/линий. Однако вы можете использовать функцию Win32 API SendMessage() или собственный метод TRichEditPerform(), чтобы отправить его сообщение EM_SETCHARFORMAT с указанием CHARFORMAT2 структуры, чье поле crBackColor настроено на требуемый цвет. Вы можете применить форматирование к существующим символам, выделив их сначала, или вы можете применить форматирование к текущей позиции каретки, если нет выбора.

+0

Ahh, это был ответ, который я искал. (Я знаю, что у TRichEdit этого нет. Я бы не спросил его здесь, если бы это было;) –

1

MSDN on RTF указывает \cbN, где N - индекс цвета.

Другие поисковые запросы предполагают, что это не поддерживается множеством приложений (собственный RTF-просмотрщик OS X, Microsoft Word), так что, может быть, вы должны искать индивидуальное решение.

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