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

フォームプロパティ


カラースキーム

配色プロパティは、macOS でのみ適用されます。

このプロパティは、フォームのカラースキームを定義します。 このプロパティは、フォームのカラースキームを定義します。 このプロパティが設定されていない場合のデフォルトでは、カラースキームの値は 継承済み です (フォームは アプリケーションレベル で定義されたカラースキームを使用します)。 これは、フォームに対して以下の 2つのオプションのいずれかに変更することができます: これは、フォームに対して以下の 2つのオプションのいずれかに変更することができます:

  • dark - 暗い背景に明るいテキスト
  • light - 明るい背景に暗いテキスト

定義されたカラースキームを CSS で上書きすることはできません。

JSON 文法

名称データタイプとりうる値
colorSchemestring"dark", "light"

CSS

このプロパティは、フォーム用に特定の CSSファイルを読み込むことを可能にします。

フォームレベルで定義された CSSファイルは、デフォルトのスタイルシートをオーバーライドします。 詳細については スタイルシート を参照ください。

JSON 文法

名称データタイプとりうる値
cssstring または collectionCSSファイルパス:
  • 文字列 (両方のプラットフォーム用に 1ファイル)
  • 文字列のコレクション (両プラットフォーム用のファイルのリスト)
  • {"path":string;"media":"mac" | "win"} オブジェクトのコレクション

  • フォームクラス

    フォームに割り当てる既存のユーザークラス の名前。 フォームに割り当てる既存のユーザークラス の名前。 フォームに割り当てる既存のユーザークラス の名前。 ユーザークラスはホストプロジェクトのものでもコンポーネント のものでも使用可能です。後者の場合は正式なシンタックスは"componentNameSpace.className" となります。 フォームに割り当てる既存のユーザークラス の名前。 フォームに割り当てる既存のユーザークラス の名前。 フォームに割り当てる既存のユーザークラス の名前。 ユーザークラスはホストプロジェクトのものでもコンポーネント のものでも使用可能です。後者の場合は正式なシンタックスは"componentNameSpace.className" となります。 フォームに割り当てる既存のユーザークラス の名前。 フォームに割り当てる既存のユーザークラス の名前。 ユーザークラスはホストプロジェクトのものでもコンポーネント のものでも使用可能です。後者の場合は正式なシンタックスは"componentNameSpace.className" となります。

    フォームにクラスを割り当てることで、以下のような利点があります:

    • フォームエディター を使用する際、割り当てられたクラスは をサポートするプロパティリスト の全てのエリア(例: 変数または式フォントカラー式...)において、Form.myProperty のような式に対する正確なシンタックスチェックを行うのに使用されます。 エラーは赤、警告は黄色で、プロパティリストの左カラムに表示され、ホバーすることで説明を受けることができます: エラーは赤、警告は黄色で、プロパティリストの左カラムに表示され、ホバーすることで説明を受けることができます: エラーは赤、警告は黄色で、プロパティリストの左カラムに表示され、ホバーすることで説明を受けることができます: エラーは赤、警告は黄色で、プロパティリストの左カラムに表示され、ホバーすることで説明を受けることができます: エラーは赤、警告は黄色で、プロパティリストの左カラムに表示され、ホバーすることで説明を受けることができます:

    • コンパイラー による、フォームオブジェクトの式内でのコードのエラー検知は改善されました。

    • またコードエディター内での自動補完機能 を利用することもできます。

    • フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 これにより、DIALOGPrint form、あるいは FORM LOAD といったコマンドに_formData_ オブジェクトを渡さなくても、コードからForm コマンドを通してユーザークラスで定義されたクラス関数へと直接アクセスすることができます(例:Form.message()) 。 フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 これにより、DIALOGPrint form、あるいは FORM LOAD といったコマンドに_formData_ オブジェクトを渡さなくても、コードからForm コマンドを通してユーザークラスで定義されたクラス関数へと直接アクセスすることができます(例:Form.message()) 。 フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 これにより、DIALOGPrint form、あるいは FORM LOAD といったコマンドに_formData_ オブジェクトを渡さなくても、コードからForm コマンドを通してユーザークラスで定義されたクラス関数へと直接アクセスすることができます(例:Form.message()) 。 フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 これにより、DIALOGPrint form、あるいは FORM LOAD といったコマンドに_formData_ オブジェクトを渡さなくても、コードからForm コマンドを通してユーザークラスで定義されたクラス関数へと直接アクセスすることができます(例:Form.message()) 。 フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これはForm オブジェクトによって返されます。 これにより、DIALOGPrint form、あるいは FORM LOAD といったコマンドに_formData_ オブジェクトを渡さなくても、コードからForm コマンドを通してユーザークラスで定義されたクラス関数へと直接アクセスすることができます(例:Form.message()) 。

    この新機能の説明に関しては、こちらのblog 記事 を参照してください。

    JSON 文法

    名称データタイプとりうる値
    formClassstring既存のユーザークラスの名前("className" または "componentNameSpace.className")

    フォーム名

    このプロパティはフォームそのものの名称で、4Dランゲージで名前によってフォームを参照するのに使用されます。 フォーム名は、4Dの 識別子の命名規則 に準じたものでなければなりません。

    JSON 文法

    フォーム名は、form.4Dform ファイルを格納するフォルダーの名前で定義されます。 詳しくは プロジェクトのアーキテクチャー を参照ください。


    フォームタイプ

    フォームのタイプ、つまり その出力先によって、当該フォームで利用できる機能が定義されます。 フォームのタイプ、つまり その出力先によって、当該フォームで利用できる機能が定義されます。 たとえば、マーカー はリスト (出力) テーブルフォームでのみ設定できます。

    データベースの各テーブルは通常、少なくとも 2つのテーブルフォームを持ちます。 1つは画面上にレコードを一覧表示するためのもので、もう 1つはレコードを 1件ずつ表示するためのものです (データ入力や修正に使用):

    • 出力フォーム - 出力フォーム (または リストフォーム) は、レコードのリストを、1レコードにつき 1行で表示します。 クエリの結果は出力フォームに表示され、ユーザーが行をダブルクリックすると、そのレコード用に入力フォームが表示されます。

    • 入力フォーム - データ入力に使用されます。 1つの画面に 1件のレコードが表示され、一般的には、レコードの編集を保存・キャンセルするためのボタンや、レコード間を移動するためのボタン (先頭レコード、最終レコード、前レコード、次レコード等) を備えています。

    サポートされるタイプは、フォームのカテゴリーによって異なります:

    フォームタイプJSON 文法説明サポートされているフォーム
    詳細フォームdetailScreenデータ入力・修正用の表示フォームプロジェクトフォームとテーブルフォーム
    印刷用詳細フォームdetailPrinter1ページにつき 1レコードの印刷レポート (請求書など)プロジェクトフォームとテーブルフォーム
    リストフォームlistScreenレコードを画面上に一覧表示するフォームテーブルフォーム
    印刷用リストフォームlistPrinterレコード一覧の印刷レポートテーブルフォーム
    なしno destination特定の機能を持たないフォームプロジェクトフォームとテーブルフォーム

    JSON 文法

    名称データタイプとりうる値
    destinationstring"detailScreen", "listScreen", "detailPrinter", "listPrinter"

    継承されたフォーム名

    このプロパティは、現在のフォームに 継承するフォーム を指定します。

    テーブルフォームを継承する場合は、継承されたフォームテーブル プロパティにテーブルを設定します。

    継承を解除するには、プロパティリストで \<なし> を選択します (JSON では " ")。

    JSON 文法

    名称データタイプとりうる値
    inheritedFormstringテーブルまたはプロジェクトフォームの名前, フォームを定義する .json ファイルへの POSIXパス, またはフォームを定義するオブジェクト

    継承されたフォームテーブル

    このプロパティは、現在のフォームに 継承するテーブルフォーム が属するデータベーステーブルを指定します。

    プロジェクトフォームを継承する場合は、プロパティリストで \<なし> を選択します (JSON では " ")。

    JSON 文法

    名称データタイプとりうる値
    inheritedFormTablestring または numberテーブル名またはテーブル番号

    Pages

    各フォームは、少なくとも 2つのページで構成されています:

    • ページ0 (背景ページ)
    • ページ1 (メインページ)

    詳細については フォームのページ を参照ください。

    JSON 文法

    名称データタイプとりうる値
    pagescollectionページのコレクション (各ページはオブジェクトで、ページ0 は最初の要素です)

    サブフォームとして公開

    コンポーネントフォームをホストアプリケーションの サブフォーム として選択するには、明示的に共有されている必要があります。 このプロパティが選択されていると、フォームがホストアプリケーションで公開されます。 このプロパティが選択されていると、フォームがホストアプリケーションで公開されます。 このプロパティが選択されていると、フォームがホストアプリケーションで公開されます。 このプロパティが選択されていると、フォームがホストアプリケーションで公開されます。 このプロパティが選択されていると、フォームがホストアプリケーションで公開されます。

    公開されたサブフォームとして指定できるのは、プロジェクトフォームのみです。

    JSON 文法

    名称データタイプとりうる値
    sharedbooleantrue, false

    配置を記憶

    このオプションがチェックされていると、Open form window コマンドに * 演算子を渡して開かれたウィンドウが閉じられるとき、そのフォームの特定のプロパティ値については、それらがセッション中に変更された場合、4D によって自動的に保存されます:

    • カレントページ
    • それぞれのフォームオブジェクトの配置・大きさ・表示状態 (リストボックス列のサイズと表示状態も含む)。

    このオプションは、OBJECT DUPLICATE コマンドを使用して作成されたオブジェクトに対しては無効です。 このコマンドを使用したときに使用環境を復元させるには、デベロッパーがオブジェクトの作成・定義・配置の手順を再現しなければなりません。 このコマンドを使用したときに使用環境を復元させるには、デベロッパーがオブジェクトの作成・定義・配置の手順を再現しなければなりません。

    このオプションが選択されているとき、一部のオブジェクトに置いては 値を記憶 のオプションが選択可能になります。

    JSON 文法

    名称データタイプとりうる値
    memorizeGeometrybooleantrue, false

    参照

    値を記憶


    ウィンドウタイトル

    ウィンドウタイトルは、アプリケーションモードで Open windowOpen form window コマンドを用いてフォームを開く際に使用されます。 ウィンドウタイトルはウィンドウのタイトルバーに表示されます。 ウィンドウタイトルはウィンドウのタイトルバーに表示されます。 ウィンドウタイトルはウィンドウのタイトルバーに表示されます。 ウィンドウタイトルはウィンドウのタイトルバーに表示されます。

    動的参照を使用して、フォームのウィンドウタイトルを定義することもできます:

    • Resourcesフォルダーに保存された、標準の XLIFF参照
    • テーブル/フィールドラベル: 適用できるシンタックスは <?[TableNum]FieldNum> または <?[TableName]FieldName> です。
    • 変数またはフィールド: 適用できるシンタックスは \<VariableName> または \<[TableName]FieldName>。 フィールドや変数の現在の値がウィンドウタイトルとして表示されます。 フィールドや変数の現在の値がウィンドウタイトルとして表示されます。 フィールドや変数の現在の値がウィンドウタイトルとして表示されます。 フィールドや変数の現在の値がウィンドウタイトルとして表示されます。

    ウィンドウタイトルの最大文字数は 31 です。

    JSON 文法

    名称データタイプとりうる値
    windowTitlestringテキストまたは参照としてのウィンドウ名