Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何在RichEdit中更改页边距的背景色?_Delphi_Colors_Margin_Richedit - Fatal编程技术网

Delphi 如何在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

我使用以下代码向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消息,然后您可以在该空间中绘制您想要的任何内容。

我不确定这是否可行,但您可以发送一条EM_SETEDITSTYLE消息来设置SEU EXTENDBACKCOLOR,这是我过去使用过的——这会导致背景颜色延伸到边缘。有关更多详细信息,请参阅