zoukankan      html  css  js  c++  java
  • 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;




  • 相关阅读:
    数据挖掘实践(23):实战-- 建筑能源得分预测报告(一)
    返回闭包
    函数指针
    Rust 中的 Closure
    Moves, copies and clones in Rust
    Rust的闭包类型(Fn, FnMut, FnOne的区别)
    Clone VS Copy
    rust socket
    A simple UNIX socket listener in Rust
    【firecracker】系统启动与epoll事件循环
  • 原文地址:https://www.cnblogs.com/xe2011/p/2532913.html
Copyright © 2011-2022 走看看