メインコンテンツまでスキップ
バージョン: 開発中

OBJECT GET BEST SIZE

OBJECT GET BEST SIZE ( {* ;} object ; bestWidth ; bestHeight {; maxWidth} )

引数説明
*演算子指定時, Objectはオブジェクト名 (文字列) 省略時, Objectはフィールドまたは変数
objectanyオブジェクト名 (* 指定時), または フィールドまたは変数 (* 省略時)
bestWidthInteger最適オブジェクト幅
bestHeightInteger最適オブジェクト高さ
maxWidthInteger最大オブジェクト幅

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

OBJECT GET BEST SIZE コマンドは、引数 *objectで指定されたフォームオブジェクトの“最適な”幅と高さを、引数bestWidthbestHeightに返します。これらの値はピクセルで表わされます。このコマンドは複雑なレポートの表示や印刷に役立ち、OBJECT MOVE コマンドとともに使用します。

オプションの * 引数を指定した場合、objectはオブジェクト名です (文字列) 。オプションの * 引数を省略すると、objectはフィールドまたは変数です。この場合、文字列ではなくフィールドまたは変数参照 (フィールドまたは変数のみ) を指定します。

返される最適値は、カレントのコンテンツが境界内に完全に収まるための、オブジェクトサイズの最小値です。通常これらの値はテキストを含むオブジェクトに 関してのみ意味を持ちます。この計算にはフォント、フォントサイズ、フォントスタイルおよびオブジェクトのコンテンツが考慮されます。さらに、ハイフンや 改行も考慮されます。3Dボタンの場合、コマンドはボタンにアイコンしか表示されない場合でも動作します。
指定されたオブジェクトが空の場合、bestWidthには0が返されます。

返されるサイズは、オブジェクトの周囲に貼り付けられたグラフィックフレームやスクロールバーを計算に入れていません。画面上のオブジェクトの実際のサイズを取得するには、これらの要素の幅を加算する必要があります。

任意のmaxWidth引数により、オブジェクトに最大幅を割り当てることができます。オブジェクトの最適な幅がこの値よりも大きい場合、OBJECT GET BEST SIZE コマンドはbestWidthmaxWidthを返し、この結果として最適な高さを大きくします。

このコマンドは、次のオブジェクトを処理することができます。

  • スタティックテキストエリア
  • 参照として挿入されたテキスト
  • 次のタイプのフィールドや変数: 文字、テキスト、実数、整数、倍長整数、日付、時間、ブール(チェックボックスとラジオボタン)
  • ボタン
  • ディスプレイコンテキストでのリストボックスカラム(表示されている行のみが考慮されます)。

この他のオブジェクトタイプ(グループエリア、タブ、矩形、直線、円/楕円、プラグインエリア等)の場合、OBJECT GET BEST SIZE コマンドは現在のオブジェクトサイズ(フォームエディタやOBJECT MOVE コマンドで指定)を返します。

例題

SET PRINT MARKER コマンド.の例を参照。

参照

OBJECT MOVE
SET PRINT MARKER