| 4D v18FORM SET SIZE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 FORM SET SIZE 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| FORM SET SIZE ( {object ;} horizontal ; vertical {; *} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| object | 文字 |   | フォームの境界を指定するオブジェクト名 | |||||
| horizontal | 倍長整数 |   | * が渡されていれば: 水平マージン (ピクセル) * が省略されていれば: 幅 (ピクセル) | |||||
| vertical | 倍長整数 |   | * が渡されていれば: 垂直マージン (ピクセル) * が省略されていれば: 高さ (ピクセル) | |||||
| * | 演算子 |   | 渡されれば: horizontalとvertical引数で 指定されたマージンを加える (自動サイズまたはobjectが指定されればそれを基ととしたサイズ) 省略すれば: horizontalとverticalをフォームの幅と高さにする | |||||
FORM SET SIZE コマンドを使用すると、プログラムからカレントフォームのサイズを変更することができます。新しいサイズは、カレントプロセスに対して定義され、フォームには保存されません。
デザインモードと同様に、このコマンドを使用して、3通りの方法でフォームサイズを設定することができます:
フォームのリサイズに関する詳細は、4D Design Referenceマニュアルを参照してください。
自動サイズ FORM SET SIZE(horizontal;vertical;*)この場合、horizontal と verticalにはそれぞれ右と下に追加するマージンをピクセル単位で渡します。
オブジェクトを基にしたサイズ FORM SET SIZE(object;horizontal;vertical)この場合、horizontal と verticalにはそれぞれオブジェクトの右と下に追加するマージンをピクセル単位で渡します。* 引数を渡すことはできません。
サイズ指定 FORM SET SIZE(horizontal;vertical)この場合、horizontal と verticalにはそれぞれフォームの高さと幅を指定します。
FORM SET SIZEコマンドはフォームサイズを変更しますが、サイズ調整プロパティも考慮します。例えば、フォームの最小幅が500ピクセルの場合に、コマンドで幅を400ピクセルに設定すると、新しいフォーム幅は500ピクセルになります。
また、このコマンドはフォームウィンドウのサイズは変更しないという点に注意してください。ウインドウサイズを変更しないでフォームサイズを変えることもできます(その逆も同様)。フォームウィンドウのサイズを変更する方法については、RESIZE FORM WINDOWコマンドを参照してください。
次の例題は、エクスプローラタイプのウィンドウの設定方法を示しています。以下のフォームはデザインモードで作成します:

フォームのサイズは “自動”です。
ウィンドウは以下のコードで表示されます:
 $ref:=Open form window([Table1];"Form1";Plain form window;Horizontally centered;Vertically centered;*)
 DIALOG([Table1];"Form1")
 CLOSE WINDOWウィンドウの右の部分はオプションのクリックにより表示されたり隠されたりします。:

このボタンに関連付けられたメソッドは以下のようになります:
 Case of
    :(FORM Event=On Load)
       C_BOOLEAN(b1;<>collapsed)
       C_LONGINT(margin)
       margin:=15
       b1:=<>collapsed
       If(<>collapsed)
          FORM SET HORIZONTAL RESIZING(False)
          FORM SET SIZE("b1";margin;margin)
       Else
          FORM SET HORIZONTAL RESIZING(True)
          FORM SET SIZE("tab";margin;margin)
       End if
 
    :(FORM Event=On click)
       <>collapsed:=b1
       If(b1)
  `collapsed
          OBJECT GET COORDINATES(*;"b1";$l;$t;$r;$b)
          GET WINDOW RECT($lf;$tf;$rf;$bf;Current form window)
          SET WINDOW RECT($lf;$tf;$lf+$r+margin;$tf+$b+margin;Current form window)
          FORM SET HORIZONTAL RESIZING(False)
          FORM SET SIZE("b1";margin;margin)
 
       Else
  `expanded
          OBJECT GET COORDINATES(*;"tab";$l;$t;$r;$b)
          GET WINDOW RECT($lf;$tf;$rf;$bf;Current form window)
          SET WINDOW RECT($lf;$tf;$lf+$r+margin;$tf+$b+margin;Current form window)
          FORM SET HORIZONTAL RESIZING(True)
          FORM SET SIZE("tab";margin;margin)
       End if
 
 End case
	プロダクト: 4D
	テーマ: フォーム
	番号: 
        891
        
        
        
	
	初出: 4D 2004 
	名称変更: 4D v12
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
	
	
 コメントを追加
コメントを追加