SynMemo(SynEdit)で、カーソル行位置を取得するには?

解決


RAD命  2012-12-12 23:19:46  No: 43468

お世話になります。

環境は、Win8,TurboDelphi2006です。

以下の事をしたいと考えています。

procedure TForm1.Button1Click(Sender: TObject);
var
  y : integer;
begin
  with SynMemo1 do begin
    y := SendMessage(Handle, EM_LINEFROMCHAR, SelStart, 0);
    Lines.Insert( y ,'<u>' + Lines[y] + '</u>'+ char(13) );
  end;
end;

Richeditでは問題なく作動するのですが、
SynEditでは、うまく作動しません。
現在行を取得できないようです。
何か良い方法は無いでしょうか?

よろしくお願いします。


au  2012-12-13 01:38:50  No: 43469

確認してないですけど。
CaretYもしくはDisplayYが目的のものじゃないでしょうか?


RAD命  2012-12-13 02:16:25  No: 43470

auさん>ありがとうございます、まさにそれでした。
CaretYで現在行取得できました。

他には先ほど色々試していたら見つけたのですが、
BlockBegin.y
BlockEnd.y

でも、現在行と、選択範囲の行位置取得も出来ました。

助かりました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加