フォームがロードされたとき、文字列オブジェクトの文字が多すぎて、高さ方向に入りきれらない場合、フォントサイズを小さくして文字列全体を表示する。
文字列が表示し切れるくらい短くてフォントを小さくする必要がない場合、このコマンドは何もしない。
使い方
JCL_frm_AdjustFontSize (“vA01_var4D_Application”)
引数
$1: フォームオブジェクト名
//JCL_frm_AdjustFontHeight
//20180521 wat
//フォームオブジェクト 文字高さと行数によってフォントサイズを小さくする
C_TEXT($1;$fldName)
$fldName:=$1
C_LONGINT($font_size)
C_LONGINT($best_width;$best_height)
C_LONGINT($org_width;$org_height)
// プロパティで設定されているフォントサイズ
$font_size:=OBJECT Get font size(*;$fldName)
// フォームエディタ上のオブジェクトサイズ
JCL_frm_GetObjectSize ($fldName;->$org_width;->$org_height)
// 文字列描画後の オフジェクトの最適サイズ
OBJECT GET BEST SIZE(*;$fldName;$best_width;$best_height)
While ($org_height<=$best_height)
// フォントサイズを一つ小さくする
$font_size:=$font_size-1
OBJECT SET FONT SIZE(*;$fldName;$font_size)
// フォント変更後、オフジェクトの最適サイズ を取り直す
OBJECT GET BEST SIZE(*;$fldName;$best_width;$best_height)
End while