关于TRichEdit的颜色问题(200分)

  • 主题发起人 主题发起人 Idilent
  • 开始时间 开始时间
I

Idilent

Unregistered / Unconfirmed
GUEST, unregistred user!
TRichEdit 的背景颜色可否变成多种颜色,也就是一块是红色,一块是绿色,我是指背景,
不是文字,如果可以如何实现。
 
用背景粘图行
 
procedure TForm1.Button5Click(Sender: TObject);
var
Fmt :TCharFormat2;
begin
Fmt.cbSize := SizeOf(Fmt);
Fmt.dwMask := CFM_COLOR or CFM_BACKCOLOR or CFM_Weight;//告诉系统只有字体颜色和背景颜色两个字段的值有效
Fmt.crTextColor := clwhite;
Fmt.crBackColor := clred;//设置背景色
//fmt.wWeight :=0;
RichEdit1.Perform(EM_SETCHARFORMAT,SCF_SELECTION,integer(@Fmt));//发EM_SETCHARFORMAT消息给RichEdit
end;
 
to bubble

TCharFormat2 是什么?

 
CHARFORMAT2是CHARFORMAT的
增强版本,里面可以支持字距/背景色/动画显示效果等增强功能,
只是需要注意需要有2.0版本
的richEdit支持(目前的系统里几乎都会有的)。
如果要考虑的再全面一点,可以在程序启动时加上一些判断:
inst := LoadLibrary('riched20.dll');//riched20.dll是richedit2的动态联结库文件
if inst = nil then
出错处理.........

以上来自大富翁hog大虾
 
这是否是一个第三方控件?我在那里可以找到它?因为我在delphi的help中找不到CHARFORMAT
 
不好意思问了一个愚蠢的问题
 
可不可以把整行的颜色都改变了,而不只改变文本下面的背景颜色。
 
后退
顶部