SynEdit 鼠标点击行号栏自动选中所在行

//CaretX  光标或鼠标所在行的列号(第几列),从0开始计数
//CaretY  光标或鼠标所在行的行号(第几行),从0开始计数
//SynEdit.Lines.Strings[]下标从0开始。要CaretY-1   设置LineNumberStart=0没用。
procedure TfrmLogin.sqlTextGutterClick(Sender: TObject; Button: TMouseButton; X, Y, Line: Integer; Mark: TSynEditMark);
begin
  // ShowMessage(Format('CaretX:%d;CaretY:%d'+#13+'Line_Text:[%s]',[sqlText.CaretX,sqltext.CaretY,sqlText.Lines.Strings[sqltext.CaretY-1]]));
 { Memo控件可以采用下面的方法选中指定行,SynEdit无效,只能选中第一行。
   sqlText.SelStart := SendMessage(sqlText.Handle, EM_LINEINDEX, sqltext.CaretY - 1, 0);
   sqlText.SelLength := Length(sqlText.Lines[sqltext.CaretY - 1]);  }
   sqlText.SelLength := Length(sqlText.Lines.Strings[sqltext.CaretY-1]); //选中该行
end;

 

Memo 当前行号,坐标,位置

可以使用Memo的属性CaretPos.X来取行鼠标所在行的行数与鼠标所在行的第几位

Memo.CaretPos.X 光标或鼠标所在行的列号(第几位),从0开始计数
Memo.CaretPos.Y 光标或鼠标所在行的行号(位于Memo的第几行),从0开始计数

 

TBufferCoord  bc=synEditor1->CaretXY;

synEditor1->CaretX;
synEditor1->CaretY;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
========== SynEdit Studio Readme==========谢谢使用SynEdit Studio;此控件包基于基于SynEdit加强,增加了一些第三方的SynEdit控件和自己写的控件;原SynEdit控件包开发者:Pieter Zijlstra;增强修改包作者:姚乔锋 yaoqiaofeng@sohu.com最近的版本请关注www.delphibox.com和www.delphifans.com;========== SynEdit Studio History==========修改版本 2005.05.20 01.TSynAutoCorrect,改正控件原先不支持中文输入的特点; 02.TSynEdit,增加一个属性ActiveLine,类属性,具体参考TSynActiveLine; 03.TSynEdit,增加一个属性LineDivider,类属性,具体参考TSynLineDivider; 04.TSynEdit,增加一个属性WordWrap,类属性,具体参考TSynWordWrap; 05.TSynEdit,增加一个属性RightEdge,类属性,具体参考TSynRightEdge; 06.TSynEdit,修改高亮当前的方式,在自动的情况也只高亮一; 07.TSynEdit,当间距大于零时,原本文本会显示于靠上,现修改于垂直中间对齐; 08.TSynEdit,增加一个属性LineSpacing,可指定间距; 09.TSynEdit,增加一个属性LineSpacingRule,可指定间距类型; 10.TSynEdit,修正当控件是在一个子窗口上时,若是焦点转回到主窗口中某个控件后再转回来时会不能显示光标的BUG; 11.TSynEdit,修正当第一列显示的字符是双字节字符的第二个字节时,在高亮当前情况下会把第一个字节显示在行号区上的BUG; 12.TSynEdit,修正了DoCaseChange,加快转换字母大小写的处理速度和精简代码,也避免出现一些双字节字符的丢失; 13.TSynEdit,修正画右边线的代码,避免有时右边线颜色显示出错; 14.TSynEdit,修正了改变属性TEXT后不能UNDO的特性; 15.TSynEditSource,新添加的自己写的控件,用于存储Synedit的属性,详细请查看单元SynEditSource; 16.TSynEditSearcher,新添加的自己写的类,用于简化Synedit搜索,详细请查看单元SynEditSearcher; 17.TSynUniSyn,新添加的修改过的第三方控件,一个通用的Highlighter,详细请查看单元SynUniHighlighter; 18.TSynSpellCheck,新添加的第三方控件,一个拼写检查控件,详细请查看单元SynSpellCheck; 19.TSynEditor,新增加的TSynEdit的继承控件,增加对编辑文档管理的支持和一些增强型功能 20.SynMsgDialog,一个消息框单元,参照Dialogs中MessageDlg的代码进改进并重写; 21.SynEditStrRes,一个字符串常量声明单元,存储增加的自定义的控件中用到的字符串;未来期待 下一版本中我将会加入一系列的Action,以方便大家编写程序. 若大家还想增加什么功能的话,请给我写信,当然不要用英文写了,英文我不是很好.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值