version 2004 (Modified)
Open window (left; top; right; bottom{; type{; title{; controlMenuBox}}}){ WinRef }
| 引数 | 型 | 説明 | |
| left | 数値 | ウィンドウ内容領域のグローバル左座標 | |
| top | 数値 | ウィンドウ内容領域のグローバル上座標 | |
| right | 数値 | ウィンドウ内容領域のグローバル右座標, | |
| または-1でフォームのデフォルトサイズを使用 | |||
| bottom | 数値 | ウィンドウ内容領域のグローバル下座標, | |
| または-1でフォームのデフォルトサイズを使用 | |||
| type | 数値 | ウィンドウタイプ | |
| title | 文字列 | ウィンドウのタイトル | |
| または "" でデフォルトのフォームタイトルを使用 | |||
| controlMenuBox | 文字列 | コントロールメニューボックスがダブルクリック | |
| またはクローズボックスがクリックされたときに | |||
| 呼び出すメソッド | |||
| 戻り値 | WinRef | ウィンドウ参照番号 |
説明
Open windowは最初の4つの引数で指定された寸法を使用して新しいウィンドウを開きます:
・left はアプリケーションウィンドウの左端から、ウィンドウ内側の左端までの距離 (ピクセル単位) です。
・top はアプリケーションウィンドウの上端から、ウィンドウ内側の上端までの距離 (ピクセル単位) です。
・right はアプリケーションウィンドウの左端から、ウィンドウ内側の右端までの距離 (ピクセル単位) です。
・bottom はアプリケーションウィンドウの上端から、ウィンドウ内側の下端までの距離 (ピクセル単位) です。
right と bottom両方に -1 を渡すと、4Dは以下の条件のときウィンドウのサイズを自動で決定します:
・デザインモードのフォームエディタで、フォームプロパティのサイズオプションを設定している
・Open windowを呼び出す前に、INPUT FORMコマンドで、 * 引数付きでフォームを選択している。
重要: この自動サイズ決定は、事前に表示するフォームをINPUT FORMコマンドで指定し、またオプションの * 引数をINPUT FORMコマンドに指定したときにのみ、実行されます。
・type 引数はオプションで、ウィンドウタイプの節で説明している異なるウィンドウタイプから、表示したいウィンドウを選択するために使用します。ウィンドウタイプが負数の時、フローティングウィンドウが作成されます。typeが指定されない時、タイプ1がデフォルトで使用されます。
・title 引数はオプションで、ウィンドウのタイトルを指定します。
空の文字列 ("") をtitleに渡すと、4Dはデザインモードのフォームエディタで、フォームプロパティに指定されたウィンドウのタイトルを使用します。
重要: デフォルトのフォームタイトルは表誦するフォームを事前にINPUT FORM で指定し、かつINPUT FORMにオプションの * 引数を渡したときにのみ設定されます。
・controlMenuBox 引数はオプションで、ウィンドウのコントロールボックスメソッドを指定します。この引数が指定されると、コントロールメニューボックス (Windows) やクローズボックス (Macintosh) がウィンドウに追加されます。ユーザがコントロールメニューボックスをダブルクリック (Windows) またはクローズボックスをクリック (Macintosh) すると、controlMenuBox に渡したメソッドが呼び出されます。
Note: On Close Boxイベントを使用して、フォームメソッドでウィンドウを閉じる際のコントロールを行うこともできます。詳細はForm eventコマンドを参照してください。
プロセス内で複数のウィンドウが開かれている場合、最後に開かれたウィンドウがそのプロセス内でアクティブ (最前面) です。アクティブウィンドウ内の情報のみが更新可能です。他のウィンドウは見ることはできます。
フォームは開かれたウィンドウ内に表示されます。MESSAGE コマンドのテキストもウィンドウに表示されます。
例題
1. 以下のプロジェクトメソッドはメインウィンドウ (Windows) またはメインスクリーン (Macintosh) の中央にウィンドウを開きます。2~4つの引数を受け入れます:
` OPEN CENTERED WINDOW project method ` $1 - ウィンドウ幅 ` $2 - ウィンドウ高さ ` $3 - ウィンドウタイプ (オプション) ` $4 - ウィンドウタイトル (オプション) $SW:=Screen width\2 $SH:=(Screen height\2) $WW:=$1\2 $WH:=$2\2 Case of : (Count parameters=2) Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH) : (Count parameters=3) Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3) : (Count parameters=4) Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4) End case
プロジェクトメソッド記述後、以下のように使用できます:
OPEN CENTERED WINDOW (400;250;Movable dialog box;"Update Archives") DIALOG([Utility Table];"UPDATE OPTIONS") CLOSE WINDOW If (OK=1) ` ... End if
2. 以下の例題はコントロールメニューボックス (Windows) またはクローズボックス (Macintosh) メソッド付きのウィンドウを開きます。ウィンドウはアプリケーションウィンドウの右上に開かれます。
Open window(Screen width-149;33;Screen width-4;178;- Palette window;"";"CloseColorPalette") DIALOG([Dialogs];"Color Palette")
CloseColorPalette メソッドは CANCEL コマンドを呼び出します:
CANCEL
3. 以下の例題では、ウィンドウに表示するフォームのサイズとタイトルプロパティを使用して、ウィンドウを開きます:
INPUT FORM([Customers];"Add Records";*) Open window(10;80;-1;-1;Plain window;"") Repeat ADD RECORD([Customers]) Until (OK=0)
注: Open windowが自動でフォームのプロパティを使用するためには、事前に表示するフォームをINPUT FORMコマンドで指定し、またオプションの * 引数をINPUT FORMコマンドに指定しなければなりません。またデザインモードで対応するフォームのプロパティを設定していなければなりません。
4. この例題はMac OS X下でのシートウィンドウを表示する際の遅延メカニズムを説明します:
$myWindow:=Open window(10;10;400;400;Sheet window) `当面、ウィンドウは作成されるが隠されいる DIALOG([table];"dialForm") `On Loadイベントが生成され、シートウィンドウが表示される。 `ウィンドウはタイトルバーからドロップダウンされる
参照
CLOSE WINDOW, Open external window, Open form window.