| 4D v18Window Types | |||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 Window Types 
         | ||||||||||||||||||||||||||||||||||
| 定数 | 型 | 値 | 
| Modal form dialog box | 倍長整数 | 1 | 
| Movable form dialog box | 倍長整数 | 5 | 
| Plain form window | 倍長整数 | 8 | 
| Pop up form window | 倍長整数 | 32 | 
| Sheet form window | 倍長整数 | 33 | 
| Toolbar form window | 倍長整数 | 35 | 
| Palette form window | 倍長整数 | 1984 | 
| Form has no menu bar | 倍長整数 | 2048 | 
| Form has full screen mode Mac | 倍長整数 | 65536 | 
| Controller form window | 倍長整数 | 133056 | 
この章ではそれぞれのタイプのウィンドウの、Windows(左)とmacOS(右)での様子を紹介します。
モーダルウィンドウは、ユーザーのアクションをそのウィンドウに限定したい場合に使用します。モーダルウィンドウが表示されている間、メニューコマンドや他 のアプリケーションウィンドウはアクセスできなくなります。モーダルウィンドウを閉じるには、ユーザーはウィンドウを受け入れるか、キャンセルするか、提供 される選択肢を選択しなければなりません。警告ダイアログは典型的なモーダルウィンドウの例です。
4Dにおいて、タイプ1と5がモーダルウィンドウです。 
Note: モーダルウィンドウは常に最前面に居続けます。結果としてモーダルウィンドウが非モーダルウィンドウを呼び出すと、後者のウィンドウはモーダルウィンドウの後ろに開かれます。このような処理は避けなければなりません。
他方、モーダルウィンドウが他のモーダルウィンドウを呼び出す際は、後者のウィンドウが最前面に開かれます。



 
  
 

このタイプのウィンドウは以下のような長所があります:


シートウィンドウはmacOS特有のものです。これらのウィンドウはタイトルバーからドロップダウンし、メインウィンドウの上、自動的に中央に表示されます。プロパティはモーダルダ イアログと互換があります。一般的にこのタイプのウィンドウは、主たるウィンドウ中で発生するアクションに直接関連するアクションを行うために使用されま す。


Toolbarフォームウィンドウは、ウィンドウの位置、サイズ、グラフィックプロパティはツールバーのそれに準拠します。具体的には、以下の用になります:
OS Xフルスクリーンモードでのツールバーフォームウィンドウ: お使いのアプリケーションがツールバーウィンドウと、フルスクリーンモードをサポートする(Form has full screen mode Mac オプション)標準ウィンドウの両方を表示する場合、標準のウィンドウがフルスクリーンモードに切り替わった時にはインターフェースのルールに則り、ツールバーを非表示にしなければなりません。ウィンドウがフルスクリーンモードに切り替わったかどうかを調べるためには、ウィンドウの垂直方向のサイズがスクリーンの高さと同じなったかをテストして下さい(詳細は HIDE TOOL BAR コマンドを参照して下さい)。

このタイプのウィンドウは、フローティングウィンドウを生成することができます。フローティングウィンドウの主な特徴は、ユーザーが他のプロセスのウィンドウをクリックしても最前面に表示され続けるという点です。フローティングウィンドウは一般的には恒久的な情報やツールバーを表示するのに使用されます。

このタイプのウィンドウはPalette form windowに似ていますが、以下のような特徴を持ちます。Windowsでは、ウィンドウはタスクバーのアイコンによって参照されます(Windowsでは、通常のフローティングパレットはタスクバーには表示されません)。
このタイプのウィンドウは、データベースがWindows上でSDI mode on Windowsで実行中の場合に有用です。このモードでは、フローティングパレットは親アプリケーションがバックグランドへと移動してしまった場合には非表示となります。そのため、データベースのインターフェースが単一のフローティングウィンドウに基づいていた場合(例えばモニタービューを表示していた場合など)、Controller form window を使用してアプリケーションをタスクバー内で参照し、アプリケーションがバックグラウンドへと移動してしまった場合でも参照できるようにしておく必要があります。
例えば: $win:=Open form window("myMonitor";Controller form window;On the left;Vertically centered)注: macOS環境下では、このウィンドウタイプは通常のPalette form windowと同様に振る舞います。
このオプションは、データベースがSDI mode on Windows で実行中の場合での使用を想定されています。
このコンテキストにおいては、アプリケーションの全てのウィンドウは、デフォルトでカレントプロセスメニューバーを表示します。メニューバーがないウィンドウを開きたい場合、type 引数にForm has no menu bar 定数を追加する必要があります。例えば、以下のコードはWindows上でのSDIアプリケーションにおいて、メニューバーのないプレーンフォームウィンドウを作成します:
 $win:=Open form window("myPanel";Plain form window+Form has no menu bar;Horizontally centered;At the top)注: このオプションは以下の場合にはなんの効力も持ちません:
OS X環境下の4D v14 では、ドキュメントタイプのウィンドウにおいて新しいオプション「フルスクリーンモード」 が追加されています。これを使用すると、ウィンドウの右上隅に「全画面ボタン」が追加されます:

ユーザーがこのアイコンをクリックすると、ウィンドウはフルスクリーンモードになり、メインツールバーが自動的に隠されます。
このオプションを使用するにはForm has full screen mode Mac という定数をtype 引数に渡します。例えば以下のコードは、macOS環境下でフルスクリーンボタンを持ったフォームウィンドウを作成します:
 $win:=Open form window([Interface];"User_Choice";Plain form window+Form has full screen mode Mac)
 DIALOG([Interface];"User_Choice")注: Windows 環境下ではこのオプションは何もしません。
	プロダクト: 4D
	テーマ: ウィンドウ
	
        
        
	
	変更: 4D v16 R4
	
	
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加