Delphi当中,在一些文字编辑系统中常用到选择光标所在行的功能.这里给出一个示例,大家不防看看.注意的一点是在统计某一行的字符数量时,要加入2,这个2代表C语言中的\n\t,这一点倒刚开始我没注意,后来才注意,让我搞了好长时间.
procedure TMainForm.ESelectLineClick(Sender: TObject); var nStart,nEnd:integer; nTemp:integer; n:integer; begin nTemp:=0; memo.SetFocus; if memo.caretx=1 then begin nStart:=0; nEnd:=Length(memo.Lines[memo.carety]); end else begin for n:=0 to memo.CaretY-2 do begin nTemp:=nTemp+Length(memo.Lines[n])+2; end; end; nStart:=nTemp+1; nEnd:=nTemp+Length(memo.Lines[memo.carety-1]); memo.SelStart:=nTemp; memo.SelEnd:=nEnd; end;
|
阅读(1823) | 评论(0) | 转发(0) |