掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
memoの行数を知る方法を教えてください。 (ID:49029)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TMemoコンポーネントで表示されている「見た目」の「総行数」「行番号」を取得したい。という事でしょうか? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class( TForm ) Memo1: TMemo; procedure FormCreate( Sender : TObject ); private { Private 宣言 } MemoProc : TWndMethod; procedure OnMemoScroll( var Msg : TMessage ); public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate( Sender : TObject ); begin // MemoProc := Memo1.WindowProc; Memo1.WindowProc := OnMemoScroll; end; procedure TForm1.OnMemoScroll( var Msg : TMessage ); var ScrollInfo : TScrollInfo; begin MemoProc( Msg ); case Msg.Msg of CN_COMMAND : if Msg.WParamHi = EN_VSCROLL then begin // TMemoのスクロール情報取得 FillChar( ScrollInfo, SizeOF( ScrollInfo ), 0 ); ScrollInfo.cbSize := SizeOf( ScrollInfo ); ScrollInfo.fMask := SIF_RANGE or SIF_PAGE or SIF_POS; if GetScrollInfo( Memo1.Handle, SB_VERT, ScrollInfo ) then begin // TMemoコンポーネントでの見た目の行数(行番号)を表示 Caption := '行数 = ' + IntToStr( ScrollInfo.nPage ) + ' / ' + '行番号 = ' + IntToStr( ScrollInfo.nPos ) + '〜' + IntToStr( ScrollInfo.nPos + ScrollInfo.nPage - 1 ); end; end; end; end; end. TMemoコンポーネントのフォントの大きさが変わっても正しく取得できます。 勘違いしていましたらすみません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.