Delphi 如何在RichEdit中更改页边距的背景色?
我使用以下代码向RichEdit添加边距。如何更改它们的背景色Delphi 如何在RichEdit中更改页边距的背景色?,delphi,colors,margin,richedit,Delphi,Colors,Margin,Richedit,我使用以下代码向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只告诉Ri
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消息,然后您可以在该空间中绘制您想要的任何内容。我不确定这是否可行,但您可以发送一条EM_SETEDITSTYLE消息来设置SEU EXTENDBACKCOLOR,这是我过去使用过的——这会导致背景颜色延伸到边缘。有关更多详细信息,请参阅