关于代码着色的小问题
想写个代码着色的记事本,大部分的问题在Delphi精要里得到答案,不过还是有个问题
就是如何给 // 这种形式的注释着色
知道如何定位 // 的位置,但不知道如何获得注释结束时的位置 ?
[解决办法]
知道如何定位 // 的位置,但不知道如何获得注释结束时的位置 ?
你知道了他的开始的位置,那要着色的字符就是以这个位置开始,到这一行的最后一个字符的位置
就是要着色的地方了!
[解决办法]
我用的是RichEdit ,那代表行最后一个字符的属性是什么 ?
--------------------
Length(字符串) == 字符串的最后一个字符(#0前的那个字符)的下标.
RichEdit.Lines[X] 就是一个字符串.
或者,你直接用MaxInt这个常量就行了.
[解决办法]
iBeginPos := RichEdit1.FindText(
'// ',
0,
Length(RichEdit1.Lines.Text),
[stMatchCase]);
if iBeginPos> =0 then
begin
RichEdit1.SelStart := iBeginPos;
iEndPos := RichEdit1.FindText(
#13#10,
iBeginPos,
Length(RichEdit1.Lines.Text),
[stWholeWord,stMatchCase]);
RichEdit1.SelLength := iEndPos-iBeginPos;
RichEdit1.SelAttributes.Color := clBlue;
end;