RichEdit の表示について


食いーる  2005-08-26 03:01:36  No: 17264

簡単なことかもしれませんが、やり方がわかりません。
教えてください。

環境:Delphi7.0
      WindowsXP

目的:RichEdit で表示しているテキストファイルで、
      行数を数値指定し、その行を
      RichEdit の中央に表示したい。

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


食いーる  2005-08-26 03:48:10  No: 17265

書き忘れていたのですが、
カーソルは指定行の先頭にもって行きたいのです。

よろしくお願いします。


Fusa  2005-08-27 10:36:54  No: 17266

画面上のRichEditで現在何行表示されているのか。

を求める方法がわからないのですが

//画面表示されている一番上のIndexを求める
function GetTopIndex: Integer;
begin        
  Result := RichEdit.Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
end;

//画面最上位表示される行を指定してスクロール
procedure SetTopIndex(const Value: Integer);
var          
  LineCount: Integer;
begin
  LineCount :=  Value - GetTopIndex; //差を求めてスクロール
  RichEdit.Perform(EM_LINESCROLL,0,LineCount);
end;

これで、行数を数値指定して
その行をRichEditの一番上(もしくは数行下)に表示
はできると思います。

ご参考にどうぞ


anone  2005-08-28 03:55:40  No: 17267

この質問は回答が難しいです。

> 画面上のRichEditで現在何行表示されているのか。

リッチエディットは、文字単位でフォントの大きさが変えられるから、一般には
行の高さが一定ではない。だから、「中央」に表示するのは非常に難しい。


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

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






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