4D v16.3

継承フォームを使用する

ホーム

 
4D v16.3
継承フォームを使用する

継承フォームを使用する  


 

 

4Dでは“継承フォーム”を使用することができます。これはフォームBのすべてのオブジェクトをフォームAで使用可能であるということです。つまりフォームA はフォームBからオブジェクトを“継承”します。

例えば、データベースに含まれるすべての入力フォームにOK、キャンセル、次レコード、前レコードボタン、およびロゴを配置したいとします。この場合、これらの要素だけが納められたフォームを作成し、このフォームを継承フォームとしてデータベースの全入力フォームから呼び出します。各入力フォームには、そのフォームの用途に限定されたフィールドとオブジェクトだけが含まれます。

フォームウィザードで定義されるフォームテンプレートとは異なり(フォームテンプレートを作成する参照)、継承フォームへの参照は常にアクティブです。そのため、継承フォームの要素が変更されると(例えば、ボタンスタイル)、この要素を使用する全フォームが自動的に変更されます。

テーブルフォームおよびプロジェクトフォーム両方とも継承フォームを使用する、あるいは継承フォームとして使用されることができます。

データベースを使用すると、継承フォームのオブジェクトと開かれたフォームのオブジェクトが動的に結び付けられます。このメカニズムは“ページ0”フォームメカニズムと非常に似ていますが、データベースの一連のフォームに使用される点が異なります。

フォームが実行されると、オブジェクトがロードされ、次の順序で結び付けられます:

  1. 継承フォームの0ページ
  2. 継承フォームの1 ページ
  3. 開かれているフォームの0ページ
  4. 開かれているフォームのカレントページ

この順序により、フォームにおけるオブジェクトの入力順が決まります。

注: 継承フォームの0 ページと1 ページだけが他のフォームに表示可能です。

継承フォームとして使用される場合、継承フォームのプロパティ(ウィンドウタイトル、サイズ調整、イベント等)とフォームメソッドは使用されません。他方、継承フォームに含まれるオブジェクトのメソッドは呼び出されます。

フォームの継承は、4D のフォームエディターで開始します。

継承フォームを設定するには:

  1. 他のフォームを継承したいフォームをフォームエディターで開く。
  2. プロパティリストを表示し、(オブジェクト以外の場所をクリックして) フォームプロパティを表示する。
    “継承されたフォームテーブル”と“継承されたフォーム名”リストが利用できます。すべてのデータベーステーブルとそのフォームが表示されます。
  3. テーブルを選択し、次に継承するフォームを選択します。プロジェクトフォームを継承するには"継承されたフォームテーブル"で<なし>を選択します。

すべてのフォームを継承フォームとして指定できますが、そこに含まれる要素は、異なるデータベーステーブルで使用されても互換性が保たれるようになっていなければなりません。

継承フォームを選択すると、その内容が現在の編集ウィンドウに表示されます。これは単なるプレビューなので、このフォームのオブジェクトを選択したり、変更することはできません。選択や変更を行うには、別のウィンドウでその継承フォームを開かなければなりません。

フォームメニューやエディターのコンテキストメニューの、表示サブメニューで継承フォームオプションを選択解除すると、継承フォームのオブジェクトを隠すことができます。

フォームの継承をやめるには、プロパティリストで<なし>オプションを選択します。

注: 任意のフォームで継承フォームを設定し、そのフォームを第3 のフォームの継承フォームとして使用することができます。再帰的な方法で各オブジェクトが連結されます。4Dは、再帰的ループが継承フォームとして定義されているかどうかを見つけ出し(例えば、[テーブル1]フォーム1 が[テーブル1]フォーム1 の継承フォームとして定義されている場合、つまり自分自身を指定している場合)、フォームの連鎖を中断します。

 
プロパティ 

プロダクト: 4D
テーマ: フォームの作成

 
履歴 

 
ARTICLE USAGE

デザインリファレンス ( 4D v16)
デザインリファレンス ( 4D v16.1)
デザインリファレンス ( 4D v16.3)