4D v16.3OBJECT GET COORDINATES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
OBJECT GET COORDINATES
OBJECT GET COORDINATES
OBJECT GET COORDINATES コマンドは、引数 * およびobjectによって指定された、現在のフォームのオブジェクトのleft, top, right および bottomの座標 (ポイント) を返します。 オプションの * 引数を指定した場合、objectはオブジェクト名です (文字列) 。オプションの * 引数を省略すると、objectはフィールドまたは変数です。この場合、文字列ではなくフィールドまたは変数参照 (フィールドまたは変数のみ) を指定します。 object にオブジェクト名を渡し、そこでワイルドカード文字 (“@”) を使用して1つ以上のオブジェクトを指定する場合、返される座標は関連するすべてのオブジェクトで構成される四角の座標となります。 Note: バージョン6.5からは、文字列に含まれるワイルドカード文字(@)の取り扱い方を設定することができます。このオプションは、"オブジェクトプロパティ"コマンドに影響を与えます。4D Design Referenceマニュアルを参照してください。 オブジェクトが存在しない場合やコマンドがフォーム内で呼び出されていない場合、座標(0;0;0;0)が返されます。 リストボックスのコンテキストにおいては、OBJECT GET COORDINATES コマンドはリストボックスの親オブジェクトの座標だけではなく、特定のリストボックスのパーツ、つまりカラム、ヘッダー、フッターなどの座標も返す事ができます。v14 R5以前のバージョンの4Dにおいては。このコマンドは引数として渡されたエリアに関係なく、常に親リストボックスの座標のみを返してきました。今後は、object 引数で参照されたオブジェクトがリストボックスのヘッダー、カラム、フッターなどのサブオブジェクトである場合には、返される座標はそれらの指定されたサブオブジェクトの座標となります。この新機能を使用して例えば、リストボックスヘッダーにマウスオーバーしたときに小さなアイコンを表示し、ユーザーがそれをクリックするとコンテキストメニューが表示される、というような事ができるようになります。
例えば、以下の画像のように、座標が赤い長方形で縁どられたCapital カラムの場合を考えます: 1枚目の画像のように、カラムはリストボックスより大きいので、その座標はフッターを含めてリストボックスの下限を越えています。2枚目の画像では、リストボックスはスクロールしており、カラムはヘッダーエリアとLanguage カラムの"下"へと移動しています。どの場合においても、実際に表示されている部分(緑の部分)を計算するためには、赤の領域の部分を差し引く必要があります。 "button"で始まるすべてのオブジェクトによって形成される長方形の座標を得たい場合を仮定します: OBJECT GET COORDINATES(*;"button@";vLeft;vTop;vRight;vBottom) インターフェースのために、クリックされたエリアを赤い四角で囲いたい場合を考えます: リストボックスのオブジェクトメソッドにおいて、以下の様に記述します: OBJECT SET VISIBLE(*;"rectangleInfo";False) //赤い四角を初期化 メソッドは座標の理論値を返します。リストボックスがリサイズされた場合、どの部分が表示されているのかを調べるためにクリッピングを再計算が必要になる場合もあります:
参照
CONVERT COORDINATES
|
プロパティ
プロダクト: 4D
履歴
変更: 4D v6.7 ARTICLE USAGE
ランゲージリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||