我有一个包含源代码的 TRichEdit 控件。我想设置单行的背景颜色。
我知道如何设置文本颜色,但没有办法设置背景颜色吗?我不是在谈论整个控件的整个背景颜色,只是如何更改一行。
我真的必须编写一个自定义控件来执行此操作吗?
我有一个包含源代码的 TRichEdit 控件。我想设置单行的背景颜色。
我知道如何设置文本颜色,但没有办法设置背景颜色吗?我不是在谈论整个控件的整个背景颜色,只是如何更改一行。
我真的必须编写一个自定义控件来执行此操作吗?
没有TRichEdit
用于设置单个字符/行的背景颜色的属性。但是,您可以使用 Win32 APISendMessage()
函数或TRichEdit
自己的Perform()
方法向其发送EM_SETCHARFORMAT
消息,指定CHARFORMAT2
其crBackColor
字段设置为所需颜色的结构。您可以通过首先突出显示现有字符来将格式应用于现有字符,或者如果没有选择,您可以将格式应用于当前插入符号位置。
RTF 上的MSDN指定\cbN
,其中 N 是颜色索引。
其他搜索表明,许多应用程序(OS X 的本机 RTF 查看器、Microsoft Word)不支持此功能,因此也许您应该寻找自定义解决方案。