dポイントプレゼントキャンペーン実施中!

Delphi XE5 Starterを使っています。

カーソルのある行の文字色を変えるには
RichEdit1.SelStart :=5; // 開始位置
RichEdit1.SelLength := 10;// 長さ
RichEdit1.SelAttributes.Color := clRed;
でできることはわかったのですが、複数行ある場合、行を指定する方法がわかりません。
RichEdit1.ActiveLineNo は読出しのみですし、...

どうすればよろしいんでしょうか?

A 回答 (1件)

>カーソルのある行の文字色を変えるには


>RichEdit1.SelStart :=5; // 開始位置

SelStartは、テキスト全体の最初からの文字数を表しています。カーソルのある行ではありません。


カーソルのある行の文字色を変えたいなら、
RichEdit1.SelStart := RichEdit1.Perform(EM_LINEINDEX, UINT(-1), 0) + 5;

3行目の文字色を変えたいなら、
RichEdit1.SelStart := RichEdit1.Perform(EM_LINEINDEX, UINT(2), 0) + 5;

というようにSelStartを設定します。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

>SelStartは、テキスト全体の最初からの文字数を表しています。カーソルのある行ではありません。
なぜか勘違いしていました。すみません。

>カーソルのある行の文字色を変えたいなら、
>RichEdit1.SelStart := RichEdit1.Perform(EM_LINEINDEX, UINT(-1), 0) + 5;
>
>3行目の文字色を変えたいなら、
>RichEdit1.SelStart := RichEdit1.Perform(EM_LINEINDEX, UINT(2), 0) + 5;

>というようにSelStartを設定します。

うまくいきました。
ありがとうございます。

お礼日時:2015/05/05 09:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!