掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Memoに入力したテキストの高さが異なる事について (ID:45453)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 勉強していてたまたま疑問に感じたので質問させていただきます。 DelphiXE4です。 Form に Memo を一つ貼り付け、入力したテキストの高さを取得しようとしています。 以下のようにコーディングしました。 private i : Integer; phcount : array[0..100] of Single // 垂直方向のピクセル数 (・・・) procedure TForm1.FormCreate(Sender: TObject); begin i := 0; Memo1.Canvas.Font.size := 20; Memo1.Canvas.Font.Family := 'Segoe UI'; Memo1.Canvas.Font.Style := []; //(Memo1のFontと同じ設定) end; procedure TForm1.Memo1Change(Sender: TObject); begin phcount[i] := Memo1.Canvas.TextHeight(Memo1.Text); Inc(i); end; これで ・Memo1 に a を入力して改行 を繰り返しました。 等差な値が入るかと思ったのですが、結果は、 phcount[0] = 28; phcount[1] = 55; phcount[2] = 81; phcount[3] = 108; phcount[4] = 134; phcount[5] = 161; となりました。 これは、一行目の a は28ピクセル、2行目 a は27ピクセル、3行目の a は26ピクセル必要という事だと思いますが、どうして同じ a なのにピクセル数に差が出るのでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.