4D v16.3

FORM SET SIZE

ホーム

 
4D v16.3
FORM SET SIZE

FORM SET SIZE 


 

FORM SET SIZE ( {object ;} horizontal ; vertical {; *} )  
引数   説明
object  文字 in フォームの境界を指定するオブジェクト名
horizontal  倍長整数 in * が渡されていれば: 水平マージン (ピクセル) * が省略されていれば: 幅 (ピクセル)
vertical  倍長整数 in * が渡されていれば: 垂直マージン (ピクセル) * が省略されていれば: 高さ (ピクセル)
演算子 in 渡されれば: horizontalとvertical引数で 指定されたマージンを加える (自動サイズまたはobjectが指定されればそれを基ととしたサイズ) 省略すれば: horizontalとverticalをフォームの幅と高さにする

説明   

FORM SET SIZE コマンドを使用すると、プログラムからカレントフォームのサイズを変更することができます。新しいサイズは、カレントプロセスに対して定義され、フォームには保存されません。

デザインモードと同様に、このコマンドを使用して、3通りの方法でフォームサイズを設定することができます:

  • 自動: すべてのオブジェクトが表示されるよう、4Dがフォームサイズを決定。縦横マージンを追加可能。
  • 指定したフォームオブジェクトの位置に基づき決定する。縦横マージンを追加可能。
  • 幅と高さを直接指定。

フォームのリサイズに関する詳細は、4D Design Referenceマニュアルを参照してください。

自動サイズ
自動でフォームサイズを設定したい場合、以下のシンタックスを使用します:
 FORM SET SIZE(horizontal;vertical;*)

この場合、horizontalverticalにはそれぞれ右と下に追加するマージンをピクセル単位で渡します。

オブジェクトを基にしたサイズ
オブジェクトを基にフォームサイズを決定したい場合、以下のシンタックスを使用します:
 FORM SET SIZE(object;horizontal;vertical)

この場合、horizontalverticalにはそれぞれオブジェクトの右と下に追加するマージンをピクセル単位で渡します。* 引数を渡すことはできません。

サイズ指定
フォームサイズを固定で指定したい場合、下のシンタックスを使用します:
 FORM SET SIZE(horizontal;vertical)

この場合、horizontalverticalにはそれぞれフォームの高さと幅を指定します。

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



参照 

FORM SET HORIZONTAL RESIZING
FORM SET VERTICAL RESIZING

 
プロパティ 

プロダクト: 4D
テーマ: フォーム
番号: 891

 
履歴 

初出: 4D 2004
名称変更: 4D v12

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)