SET FORM SIZE

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004


SET FORM SIZE ({object; }horizontal; vertical{; *})

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

説明

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

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

・自動: すべてのオブジェクトが表示されるよう、4Dがフォームサイズを決定。縦横マージンを追加可能。

・指定したフォームオブジェクトの位置に基づき決定する。縦横マージンを追加可能。

・幅と高さを直接指定。

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

自動サイズ

自動でフォームサイズを設定したい場合、以下のシンタックスを使用します:

   SET FORM SIZE(horizontal; vertical;*)

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

オブジェクトを基にしたサイズ

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

   SET FORM SIZE(object; horizontal; vertical;*)

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

サイズ指定

フォームサイズを直接指定したい場合、下のシンタックスを使用します:

   SET FORM SIZE(horizontal; vertical)

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

SET FORM 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)
         SET FORM HORIZONTAL RESIZING(False)
         SET FORM SIZE("b1";margin;margin)
      Else 
         SET FORM HORIZONTAL RESIZING(True)
         SET FORM SIZE("tab";margin;margin)
      End if 

   : (Form event=On click)
      <>collapsed:=b1
      If (b1)
            `collapsed
         GET OBJECT RECT(*;"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)
         SET FORM HORIZONTAL RESIZING(False)
         SET FORM SIZE("b1";margin;margin)

      Else 
            `expanded
         GET OBJECT RECT(*;"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)
         SET FORM HORIZONTAL RESIZING(True)
         SET FORM SIZE("tab";margin;margin)
      End if

   End case

参照

SET FORM HORIZONTAL RESIZING, SET FORM VERTICAL RESIZING.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次