3

我有一个包含源代码的 TRichEdit 控件。我想设置单行的背景颜色。

我知道如何设置文本颜色,但没有办法设置背景颜色吗?我不是在谈论整个控件的整个背景颜色,只是如何更改一行。

我真的必须编写一个自定义控件来执行此操作吗?

4

2 回答 2

4

没有TRichEdit用于设置单个字符/行的背景颜色的属性。但是,您可以使用 Win32 APISendMessage()函数或TRichEdit自己的Perform()方法向其发送EM_SETCHARFORMAT消息,指定CHARFORMAT2crBackColor字段设置为所需颜色的结构。您可以通过首先突出显示现有字符来将格式应用于现有字符,或者如果没有选择,您可以将格式应用于当前插入符号位置。

于 2013-12-16T03:10:46.897 回答
1

RTF 上的MSDN指定\cbN,其中 N 是颜色索引。

其他搜索表明,许多应用程序(OS X 的本机 RTF 查看器、Microsoft Word)不支持此功能,因此也许您应该寻找自定义解决方案。

于 2013-12-15T15:54:11.113 回答