Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2000年12月12日] [更新 2016年04月19日] 印刷プレビュー制御コンポーネント
印刷プレビュー制御コンポーネント
矩形領域内の文字列
動作確認等 -







矩形領域内の文字列


TextRectLT(X1, X2, Y1, Y2, Text)
TextRectLC(X1, X2, Y1, Y2, Text)
TextRectLB(X1, X2, Y1, Y2, Text)
TextRectCT(X1, X2, Y1, Y2, Text)
TextRectCC(X1, X2, Y1, Y2, Text)
TextRectCB(X1, X2, Y1, Y2, Text)
TextRectRT(X1, X2, Y1, Y2, Text)
TextRectRC(X1, X2, Y1, Y2, Text)
TextRectRB(X1, X2, Y1, Y2, Text)

現在の TFont の設定値を用いて,矩形領域内に文字列を描画します.
メソッド名の末尾の 2 文字で基準位置を表しています.L, C, Rが左端,中央,右端,T, C, Bが上端,中央,下端です.折り返しなどの機能はありません.領域内に収まらない分はクリップされます.

引数 説明
X1 Integer 領域左端の X 座標値
X2 Integer 領域右端の X 座標値
Y1 Integer 領域上端の Y 座標値
Y2 Integer 領域下端の Y 座標値
Text String 描画する文字列



図1
座標値と文字列




矩形領域内の文字列描画における文字列幅の問題


上記の追加メソッド類は,斜体フォントは考慮していません.斜体フォントが必要な場合は,以下の記事を参考にして,各自で実装してください.
また,Windows のバージョンとサービスパックによっては,フォント幅の問題が原因で文字列の幅が正確に取得できず,指定の矩形領域に収まらないか,余白が生じることがありました.
この現象は,Windows 2000, 7, 8, 8.1, 10 では発生しません.Ver 4.84 で,この現象を回避するための修正をしています.