• SendMessage TMemo组件的光标定位


    //TMemo组件的光标定位 
      private
        procedure MemoRow;
        { Private declarations }
    var
      Form1: TForm1;
    procedure TForm1.MemoRow;
    var
      Lpos,Cpos,LineLength:Integer;
    begin
      Lpos := SendMessage(Memo1.Handle,em_linefromchar,Memo1.SelStart,0);//得到当前光标所在的行值
      Cpos := SendMessage(Memo1.Handle,em_lineindex,Lpos,0); //得到当前光标所在的行第一字符之前的所有字符个数
      LineLength := SendMessage(Memo1.Handle,em_linelength,Cpos,0);//得到当前光标所在的行的总字数 
      Cpos := Memo1.SelStart-CPos;//用妆前光标的之前的所有安符数减去当前光标所在行第一个符之前的所有字 
      Lpos := Lpos+1; //符数得到当前光标的列位置
      Cpos := Cpos+1; //为了符合平常的习惯,把行,列数加1
      StatusBar1.SimpleText:='行:'+InttoStr(Lpos)+' 列:'
                             +InttoStr(Cpos)+' 此行字符数:'
                             +InttoStr(Linelength);
      //向StatusBar.Simpeext中写入要显示的行列以及当前行字数的信息
    end;

    procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;//鼠标点击
      Shift: TShiftState; X, Y: Integer);
    begin
     MemoRow;
    end;

    procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;//上正左右 方向键
      Shift: TShiftState);
    begin
      MemoRow;
    end;




  • 相关阅读:
    定义类或对象
    CSS 超出的文字显示省略号(单行、多行)
    获取Json对象的长度以及判断json对象是否为空
    第三次作业附加
    八皇后问题解题报告(dfs
    STL学习笔记(不定期更新)
    寒假作业之三
    寒假作业之二(2)
    寒假作业之二(1)
    第一篇随笔居然是总结耶
  • 原文地址:https://www.cnblogs.com/xe2011/p/2532913.html
Copyright © 2020-2023  润新知