4D v164Dウィジェットコンポーネント |
||
|
4D v16
4Dウィジェットコンポーネント
4Dウィジェットコンポーネント
4Dウィジェットはコンポーネントとして提供される機能で、フォームエディタあるいは定義済みのオブジェクトライブラリからアクセスできます。これらのウィジェットは複合オブジェクトで、標準機能へのアクセスを提供する定義済みの特性を持っていて、とても簡単に実装できます。 3つのウィジェットが利用できます:
これらのウィジェットはプログラムなしで使用することができますし、またはプログラムで動作をカスタマイズすることもできます。フォームにウィジェットを配置し、デフォルトのプロパティをそのまま使用できます。動作をカスタマイズし、設定や制御を変更したい場合は、"コンポーネントメソッド"と呼ばれるメソッドを使用できます。コンポーネントメソッドはエクスプローラのメソッドページ内でコンポーネントごとにリスト表示されます: このドキュメントではそれぞれのウィジェットごとにコンポーネントメソッドのシンタックスを説明します。 ウィジェットエリアをフォームに挿入するには二通りの方法があります:
ウィジェットをオブジェクトライブラリを使用して挿入するには、以下の手順に従って下さい:
サブフォームタイプオブジェクトを使用してウィジェットを作成するには、以下の手順に従って下さい:
ウィジェットは4D サブフォームに基づいており、そのためサブフォームの動作原理に従います。これらの初期化には特に注意する必要があります。 最適化の目的のため、ソブフォームオブジェクトは4Dによって、サブフォームが表示されたときにのみインスタンス化されます。これはつまりEXECUTE METHOD IN SUBFORM を使用してのメソッドの呼び出しや、サブフォーム内の動的なオブジェクトへのアクセスは、カレントページにおいてサブフォームが表示されるまでは不可能ということです。 ウィジェットをフォームの1ページ目以外に置いた場合、On Load フォームイベント内において初期化メソッド(TimePicker SET STEP など)を呼び出すことはできません。実行時にはウィジェットはまだインスタンス化されていないからです。 この場合を管理するために、ウィジェットエリアはロードされて使用準備が整ったことを示すための特定のイベント(値は-1)を返します。このイベントはウィジエット自身のオブジェクトメソッドレベルにおいて、On Data Change、On Load などと同じようにテストされなければなりません。そのため、ウィジェットがフォームの1ページ目以外に置かれている場合、以下のように書く必要があります: If(Form event=-1) // ウィジェットがインスタンス化され初期化可能 以下のように書いた場合は正しくありません: If(Form event=On Load) // これではウィジェットが1ページ目にある場合にのみ有効
|
プロパティ
プロダクト: 4D
履歴
ARTICLE USAGE
4D Widgets(ウィジェット) ( 4D v16) |