リッチエディットで現在のカーソル位置

リッチエディットで現在のカーソル位置を調べるにはリッチエディットに対して EM_LINEFROMCHARメッセージなどを送る事で調べることが出来ます。桁も行もゼロから始まるので気をつけてください。

■ リッチエディットで現在のカーソル位置を調べる例
  procedure TForm1.Button1Click(Sender: TObject);
  var
    intY,intX : integer;
  begin
    intY  :=  RichEdit1.Perform (EM_LINEFROMCHAR, RichEdit1.SelStart, 0);
    intX  :=  RichEdit1.SelStart - RichEdit1.Perform(EM_LINEINDEX,
              RichEdit1.Perform (EM_LINEFROMCHAR, RichEdit1.SelStart, 0), 0); 
    Label1.Caption  :=  '縦:'  + IntToStr(intY + 1);
    Label2.Caption  :=  '横:'  + IntToStr(intX + 1);
  end;