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

Open form window

Open form window ( {aTable ;} formName {; type {; hPos {; vPos {; *}}}} ) -> 戻り値

引数説明
aTableTableフォームが属するテーブル、または省略時デフォルトテーブル
formNameText, Objectプロジェクトフォームまたはテーブルフォームのフォーム名(文字列)、
あるいはフォームを定義した.jsonファイルへのPOSIXパス(文字列)、
あるいは開くフォームを定義したオブジェクト
typeIntegerウィンドウタイプ
hPosIntegerウィンドウの横位置
vPosIntegerウィンドウの縦位置
*演算子ウィンドウの現在の位置とサイズを保存
戻り値Integerウィンドウ参照番号

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

説明

Open form window コマンドはフォームformNameのサイズとリサイズプロパティを使用して、新しいウィンドウを開きます。

注: フォームのメインプロパティを知るためには、FORM GET PROPERTIES コマンドを使用してください。

formName 引数には、いかのいづれかを渡すことができます:

  • 使用するフォーム名(プロジェクトフォームあるいはテーブルフォーム)
  • 使用するフォームの詳細を格納している有効な.josn ファイルへのパス(POSIX シンタックス、フォームファイルパス 参照);
  • フォームの詳細を格納しているオブジェクト

formNameフォームはウィンドウに表示されません。フォームを表示するには、フォームをロードするコマンド (ADD RECORD 等) を呼び出さなければなりません。

Open window コマンドと異なり、クローズボックスにはメソッドは割り当てられません。クローズボックスをクリックすると、On Close Box フォームイベントが有効にされている場合を除き、ウィンドウがキャンセルされ閉じられます。On Close Box フォームイベントが有効であれば、割り当てられたコードが実行されます。

formNameフォームがリサイズ可能であれば、開かれるウィンドウにはズームボックスとグローボックスが付加されます。

注: フォームの主なプロパティを取得するには FORM GET PROPERTIES コマンドを使用します。

任意のtype引数は、ウィンドウのタイプを指定するために使用します。以下のいずれかの定数を渡さなければなりません ( Open Form Window テーマ内):

定数
Controller form window倍長整数133056
Form has full screen mode Mac倍長整数65536
Form has no menu bar倍長整数2048
Modal form dialog box倍長整数1
Movable form dialog box倍長整数5
Movable form dialog box no title倍長整数524293
Palette form window倍長整数1984
Plain form window倍長整数8
Plain form window no title倍長整数524296
Pop up form window倍長整数32
Sheet form window倍長整数33
Toolbar form window倍長整数35

ウィンドウタイプの詳細な情報については、Window Types の章を参照してください。

注: Form has full screen mode Mac および Form has no menu bar 定数は、他のタイプの定数に加える必要があります。

デフォルトで、type 引数が渡されない場合には、Plain form window タイプのウィンドウが開かれます。

クローズボックス
Movable form dialog box 、Plain form window およびPalette form window タイプのウィンドウにはクローズボックスがあります。ウィンドウのクローズボックスにはメソッドは割り当てられません。クローズボックスをクリックすると、On Close Box フォームイベントが有効化されている場合を除き、ウィンドウがキャンセルされ閉じられます。On Close Box フォームイベントが有効の場合には、割り当てられたコードが実行されます。

サイズコントロール
formName 引数で指定したフォームの"Window Size" プロパティが"fixed" に設定されていない場合、開かれたウィンドウはユーザーによってリサイズ可能です。ウィンドウタイプによって、ズームボックスが利用可能です。Fixed Width あるいは Fixed Heightプロパティがフォームプロパティにおいてチェックされている場合、ウィンドウはリサイズ可能にはなりません。

注: 作成されたウィンドウの一部の属性(グローボックス、クローズボックス等)はtype 引数で選択されたタイプに対するOSのインターフェース仕様によります。そのため、使用するプラットフォームによって異なる結果が得られる場合があります。

オプションの引数 hPos を使用して、ウィンドウの横位置を指定できます。定義済みの位置(ピクセル単位)かOpen Form Window テーマ内の以下の定義済みの定数を渡すことができます:

定数
Horizontally centered倍長整数65536
On the left倍長整数131072
On the right倍長整数196608

オプションの引数 vPos を使用して、ウィンドウの縦位置を指定できます。定義済みの位置(ピクセル単位)かOpen Form Window テーマ内の以下の定義済みの定数を渡すことができます:

定数
At the bottom倍長整数393216
At the top倍長整数327680
Vertically centered倍長整数262144

これらの引数は、アプリケーションウィンドウ(MDI モードのWindows)あるいはメインスクリーン(macOS あるいはSDI モードのWindows)の左上端から見た相対的な位置で表現されています。これらの引数はツールバーとメニューバーの存在を考慮します。

オプションの引数 * を渡すと、閉じられるときにその時点での位置とサイズが記憶されます。ウィンドウが再度開かれると、以前の位置とサイズが再現されます。この場合、vPoshPos 引数はウィンドウが最初に開かれるときにのみ使用されます。

例題 1

以下のコードはクローズボックス付きの標準のウィンドウを開き、自動で"Input"フォームのサイズに調整します。フォームウィンドウは"fixed"に設定されていないため、ウィンドウはグローとズームボックスを持ちます:

 $winRef :=Open form window([Table1];"Enter")

例題 2

以下のコードはプロジェクトフォーム"Tools"に基づき、スクリーンの左上の位置にフローティングパレットを開きます。このパレットは閉じられた時の位置を記憶し、再度開かれるときにはその位置が使用されます:

 $winRef :=Open form window("Tools";Palette form window;On the left;At the top;*)

例題 3

このコードはmacOS上で実行する必要があり、実行すると、(例えばフォームボタンから呼び出された)ドキュメントウィンドウが表示されている間、シートウィンドウが表示されます:

 $myWin:=Open form window("sheet form";Sheet form window)
  // この瞬間ウィンドウは作成されるが非表示のまま
 DIALOG([aTable];"dialForm")
  //On Loadイベントが生成され、シートウィンドウが表示されます
  //シートウィンドウはタイトルバーの下から"ドロップダウン"形式で表示されます。

例題 4

以下の例では、.json フォームへのパスを使用して従業員リスト内のレコードを表示する場合を考えます:

 Open form window("/RESOURCES/OutputPersonnel.json";Plain form window)
 ALL RECORDS([Personnel])
 DIALOG("/RESOURCES/OutputPersonnel.json";*)

結果は以下のようになります:

参照

FORM GET PROPERTIES
Open window
Window Types
ウィンドウタイプ(互換性)