回 帖 发 新 帖 刷新版面

主题:richedit控件。复制文字时的问题

当选中块复制的时候是黑色的背景,我喜欢蓝色的。如何更换呢。
就是当你用鼠标拖拉一段文字是,是背景的。
但不是蓝色的。

回复列表 (共3个回复)

沙发

我刚才试了一下,效果不是很理想,你试一下:

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
var
  Fmt : TCHARFORMAT2;
begin
  FillChar(Fmt, SizeOf(Fmt), 0);
  Fmt.cbSize := SizeOf(Fmt);
  Fmt.dwMask := CFM_BACKCOLOR;
  Fmt.crBackColor := clWhite;
  Self.RichEdit1.Perform(EM_SETCHARFORMAT, SCF_ALL, Integer(@Fmt));
  FillChar(Fmt, SizeOf(Fmt), 0);
  Fmt.cbSize := SizeOf(Fmt);
  Fmt.dwMask := CFM_BACKCOLOR;
  Fmt.crBackColor := clYellow;//注意,这里为什么设置为clYellow反而显示Blue
  Self.RichEdit1.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Integer(@Fmt));
end;

板凳


那么怎么才能弄的更好呢。

3 楼

http://www.programfan.com/club/post-266771.html

[quote]
不要说这种所谓无所谓的话好吗?
无所谓我会问吗?
[/quote]


楼主,看到你的表现,我很后悔回答你的问题。

我来回复

您尚未登录,请登录后再回复。点此登录或注册