Skip to main content
 首页 » 编程设计

delphi之如何更改 RichEdit 中边距的背景颜色

2026年04月06日43zfyouxi

我使用以下代码向 RichEdit 添加边距。我怎样才能改变他们的背景颜色?

procedure TForm1.Button1Click(Sender: TObject); 
var 
   LRect: TRect; 
begin 
   LRect := RichEdit1.ClientRect; 
   InflateRect(LRect, -25, -25);  
   RichEdit1.Perform(EM_SETRECT, 0, Integer(@LRect)); 
end; 

请您参考如下方法:

EM_SETRECT 只是告诉 RichEdit 允许呈现文本的矩形。要更改您为其保留空间的边距的背景颜色,您必须对 RichEdit 进行子类化以直接处理 WM_PAINT 消息,然后您就可以在该空间中绘制任何您想要的内容。