请问如何取得richedit的当前光标所在的行号?
有些资料上是这样写的
CurrentLine:=Editor.Perform(em_ LineFromChar,SFFFF,0);
可是我运行是有错误,还有perform这是方法啊后面的参数是什么意思?
在哪里可以查到每个参数有哪些值,每个值的意思?

解决方案 »

  1.   

    SendMessage(Editor.Handle,EM_LINEFROMCHAR,Editor.SelStart,0);
      

  2.   

    perform:
    Responds as if the control received a specified Windows message. function Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;参数的意思我也不太晓的.只知道它是什么东西,,keke...太菜了
      

  3.   

    procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
    var
      X, Y: LongInt;
    begin
      Y := SendMessage(RichEdit1.Handle, EM_LINEFROMCHAR,
        RichEdit1.SelStart, 0);// 光标的行号
      X := RichEdit1.SelStart -
        SendMessage(RichEdit1.Handle, EM_LINEINDEX, Y, 0);  // 光标的列号
    end;
      

  4.   

    用sendmessage这个我知道
    我只是想知道
    Editor.Perform(em_ LineFromChar,SFFFF,0);
    的perform这是方法啊后面的参数是什么意思?
    在哪里可以查到每个参数有哪些值,每个值的意思?