ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20.6
Window Types

Window Types  


 

Open form window コマンドで開くウィンドウのタイプを指定するために、"Open Form Window" テーマ内の以下の定数のどれか一つを仕様することができます:

定数
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: モーダルウィンドウは常に最前面に居続けます。結果としてモーダルウィンドウが非モーダルウィンドウを呼び出すと、後者のウィンドウはモーダルウィンドウの後ろに開かれます。このような処理は避けなければなりません。
他方、モーダルウィンドウが他のモーダルウィンドウを呼び出す際は、後者のウィンドウが最前面に開かれます。

  • タイトルを持てる: いいえ
  • クローズボックスまたは同等の機能を持てる: いいえ
  • リサイズ可能: いいえ
  • 最小化/最大化、またはズーム可: いいえ
  • スクロールバー: いいえ
  • 利用シーン: DIALOGADD RECORD(...;...*) または同等機能
  • このタイプのウィンドウはモーダルです

  • タイトルを持てる: はい
  • クローズボックスまたは同等の機能を持てる:はい
  • リサイズ可能: はい
  • 最小化/最大化、またはズーム可: はい
  • スクロールバー: いいえ
  • 利用シーン: DIALOGADD RECORD(...;...*) または同等機能
  • このタイプのウィンドウはモーダルですが、移動できます

  • タイトルを持てる: はい
  • クローズボックスまたは同等の機能を持てる: はい
  • リサイズ可能: はい
  • 最小化/最大化、またはズーム可: はい
  • スクロールバー: はい
  • 利用シーン: スクロールバーを持つデータ入力、DISPLAY SELECTIONMODIFY SELECTION 、他.

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

  • このウィンドウはクローズボックスを持つことはできませんが、以下の場合ウィンドウは自動で閉じられ、キャンセルイベントがウィンドウに渡されます:
    • ウィンドウの外でクリックされた;
    • 後ろにあるウィンドウまたはMDI (Multiple Document Interface) ウィンドウが移動された;
    • ユーザがEscキーを押した。
  • このウィンドウは親ウィンドウの前に表示されます (プロセスのメインウィンドウとして使用してはいけません)。後ろのウィンドウは無効にされていませんが、イベントは受け取りません。
  • マウスを使用してウィンドウをリサイズしたり移動したりはできません。しかしこれらのアクションをプログラムで行うと、背景項目の再描画が最適化されます。
  • 利用シーン: このタイプのウィンドウの主に3Dべベルやツールバータイプのボタンに関連したポップアップメニューを生成するために使用されます。
  • 制約:
    • このタイプのウィンドウ内ではポップアップメニューオブジェクトを表示する事はできません。
    • 4Dのv13以降、この型のウィンドウはMac OSにおいてヘルプTipsの表示ができなくなりました。

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

  • macOS上で、最後に開かれたウィンドウが表示されていてまたフォームを表示しているときにのみ、シートウィンドウを作成できます。
  • このコマンドは以下の場合、タイプ33の代わりにタイプ 1 (Modal dialog box) のウィンドウを開きます:
    • 最後に開いたウィンドウが非表示またはフォームを表示していない、
    • Windows上。
  • シートウィンドウはフォームの上に表示されなければならないため、その表示は、ウィンドウにロードされた最初のフォームのOn Load イベントまで遅延されます (Open form window コマンドの例題3参照)。
  • 利用シーン: macOS上で、DIALOGADD RECORD(...;...*) または同等機能, (Windowsでは非標準)。

Toolbarフォームウィンドウは、ウィンドウの位置、サイズ、グラフィックプロパティはツールバーのそれに準拠します。具体的には、以下の用になります:

  • ウィンドウは常にメニューバーのすぐ下に表示されます。
  • ウィンドウの水平方向のサイズはデスクトップ(macOS)または4Dのメインウィンドウ内部(MDIモードのWindows)の利用可能な全ての水平方向のスペースを埋める形で自動的に調整されます。ウィンドウの垂直方向のサイズは、他の全てのフォームウィンドウタイプ同様、フォームプロパティに準じます。
  • ウィンドウに境界線はなく、手動で移動・リサイズはできません。
  • 二つの異なるツールバーウィンドウを同じプロセス内で同時に作成することはできません(その場合にはエラー-10613"ツールバー型のフォームウィンドウを二つ作成することはできません"が生成されます)。

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と同様に振る舞います。a

このオプションは、データベースがSDI mode on Windows で実行中の場合での使用を想定されています。

このコンテキストにおいては、アプリケーションの全てのウィンドウは、デフォルトでカレントプロセスメニューバーを表示します。メニューバーがないウィンドウを開きたい場合、type 引数にForm has no menu bar 定数を追加する必要があります。例えば、以下のコードはWindows上でのSDIアプリケーションにおいて、メニューバーのないプレーンフォームウィンドウを作成します:

注: このオプションは以下の場合にはなんの効力も持ちません:

  • macOS アプリケーション
  • MDIモードのWindows アプリケーション

「フルスクリーンモード」はmacOS においてドキュメントタイプのウィンドウに対して利用可能なオプションです。このオプションが使用されると、ウィンドウ内に「全画面表示」ボタンが表示されます。ユーザーがこのアイコンをクリックすると、ウィンドウはフルスクリーンモードへと切り替わり、4Dはメインツールバーを自動的に非表示にします。

このオプションを使用するには、引数に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

 
ARTICLE USAGE

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