关于synEdit如何设置选中行?

adslong 2016-08-17 01:42:24
最近一个程序用到了synEdit,
但是不知道怎么像listbox 或是 memo一样 设置它的选中行显示。
比如 listbox.itemindex := 5 就显示第6行了
MEMO复杂些,发送消息,设置 selstart sellengh就可以设置选中行,当然,还要置焦点,
但是这个方法不能用于SynEdit
谢谢。
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjp1210 2016-08-18
  • 打赏
  • 举报
回复
这个问题也困扰我,在memo,richedit可以实现,到了Synedit却不行
adslong 2016-08-18
  • 打赏
  • 举报
回复
感谢楼上,可以像memo一样选择显示了, 不过要synEdit像别的编辑器一样整行都变色,有实现的代码吗?
蓝色光芒 2016-08-18
  • 打赏
  • 举报
回复
注意 行,列是index,0开头,不是1,
蓝色光芒 2016-08-18
  • 打赏
  • 举报
回复

  SynEdit1.CaretY := 5;  // 第5行
  SynEdit1.CaretX := 2; //第2列,
  SynEdit1.SelLength := 10; //选中10个字符
adslong 2016-08-18
  • 打赏
  • 举报
回复
结帖。
蓝色光芒 2016-08-18
  • 打赏
  • 举报
回复
var
  nBlueLine : integer;

procedure TForm1.SynEdit1SpecialLineColors(Sender: TObject; Line: Integer;
  var Special: Boolean; var FG, BG: TColor);
begin
  if line=nBlueLine then begin //line´Ó1¿ªÊ¼
    Special := True;
    FG := $FFFFFF;  //×Ö·ûÑÕÉ«
    BG := $FF0000;  //±³¾°ÑÕÉ«
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  nBlueLine := nBlueLine+1;
  SynEdit1.Repaint;
end;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧