メインコンテンツまでスキップ
バージョン: 20 R7 BETA

OBJECT MOVE

OBJECT MOVE ( {* ;} object ; moveH ; moveV {; resizeH {; resizeV {; *}}} )

引数説明
*演算子指定時, Objectはオブジェクト名 (文字列) 省略時, Objectはフィールドまたは変数
objectanyオブジェクト名 (* 指定時), または フィールドまたは変数 (* 省略時)
moveHIntegerオブジェクトの水平移動量 (>0 = 右方向, <0 =左方向)
moveVIntegerオブジェクトの垂直移動量 (>0 = 下方向, <0 = 上方向)
resizeHIntegerオブジェクトの水平方向へのサイズ変更値
resizeVIntegerオブジェクトの垂直方向へのサイズ変更値
*演算子指定時 = 絶対座標 省略時 = 相対座標

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

説明

OBJECT MOVEコマンドは、 *object引数で指定されたカレントフォーム内のオブジェクトを、水平方向にmoveHピクセル、垂直方向にmoveVピクセル移動させます。
またオプションで、オブジェクトを水平方向にresizeHピクセル、垂直方向にresizeVピクセル、サイズの変更をすることもできます。

移動とサイズ変更の方向は、水平移動および垂直移動引数に渡された値に依ります:

  • 値が正であれば、オブジェクトは右および下へそれぞれ移動され、サイズ変更されます。
  • 値が負であれば、オブジェクトは左および上へそれぞれ移動され、サイズ変更されます。

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

objectにオブジェクト名としてワイルドカード文字 (“@”) を使用し、複数のオブジェクトを指定すると、関連する全オブジェクトを移動またはサイズ変更することができます。

Note: バージョン6.5からは、文字列に含まれるワイルドカード文字 (“@”) の取り扱いを設定することができます。このオプションは"オブジェクトプロパティ"コマンドに影響を与えます。詳細は4D Design Referenceを参照してください。

デフォルトではmoveHmoveVresizeHresizeVの値は、オブジェクトの以前の位置からの相対的な座標を変更します。引数が絶対位置を表わすようにしたい場合は、最後のオプションの引数 * を渡します。

このコマンドは以下のコンテキストで動作します:

  • 入力フォームのデータ入力
  • DIALOGコマンドを使用して表示されたフォーム
  • MODIFY SELECTIONDISPLAY SELECTIONコマンドで表示される出力フォームのヘッダとフッタ
  • フォーム印刷イベント

例題 1

下記のコードは、"button_1"を右に10ピクセル、上に20ピクセル移動させ、幅を30ピクセル、高さを40ピクセルサイズ変更します:

 OBJECT MOVE(*;"button_1";10;-20;30;40)

例題 2

下記のコード=は、"button_1"を座標(10;20)(30;40)に移動します:

 OBJECT MOVE(*;"button_1";10;20;30;40;*)

参照

OBJECT DUPLICATE
OBJECT GET COORDINATES
OBJECT SET COORDINATES