2013-12-15 39 views
2

我有一個包含源代碼的TRichEdit控件。我想設置單行的顏色爲背景RichEdit,如何設置單行的背景顏色

我知道如何設置文字的顏色,但是還沒有設置背景顏色的方法嗎?我不是在談論整個控件的整個背景顏色,只是如何改變一條線。

我真的必須編寫一個自定義控件來做到這一點嗎?

回答

4

沒有TRichEdit屬性用於設置單個字符/行的背景顏色。但是,您可以使用Win32 API SendMessage()函數或TRichEdit的方法Perform()發送一個EM_SETCHARFORMAT消息,指定一個CHARFORMAT2結構的其crBackColor字段設置爲所需的顏色。您可以通過先突出顯示的字符將格式應用於現有字符,也可以在沒有選擇的情況下將格式應用於當前插入符號位置。

+0

啊,這是我正在尋找的答案。 (我知道TRichEdit沒有這個,如果是的話,我不會在這裏問它); –

1

MSDN on RTF指定\cbN,其中N是顏色索引。

其他搜索建議這不被許多應用程序(OS X的本機RTF查看器,Microsoft Word)支持,所以也許你應該尋找一個自定義的解決方案。