SynEdit:如何在给定开始和停止位置的情况下对多个文本区域进行背景突出显示?

时间:2013-10-30 05:40:02

标签: delphi synedit

使用:Delphi XE2,Windows VCL表单应用程序,32位

我正在使用SynEdit控件来显示文本。我已经在控件中使用TSynHTMLSyn语法高亮显示器来正确地突出显示HTML和JS代码。

我也正在对此文本(使用Angus Johnson的TDiff)与另一个版本的文本进行差异查找:删除,添加和更改。我需要使用不同的颜色突出显示每种类型的更改,即RED表示删除,BLUE表示添加,GREEN表示更改。

我的问题:

  1. 是否可以实施?
  2. 如果是,那怎么样?
  3. TIA。

1 个答案:

答案 0 :(得分:1)

尝试使用TSynEdit.onSpecialLineColors事件,例如

procedure TfmRunScript.EditorSpecialLineColors(Sender: TObject;
  Line: Integer; var Special: Boolean; var FG, BG: TColor);
begin
 if Line = ErrorLine then
  begin
   Special := True;
   BG := clMaroon;
   FG := clWhite;
  end;
end;