Page History
[ |../../index.htm#lansa/l4wdev03_0255.htm]
現在地:
...
フィールドはいくつかのクラスを使って実装されています。各クラスは、フィールド・ビジュアライゼーションの要素それぞれに対応します。フィールド・ビジュアライゼーションの機能は、それぞれに応じたクラスを介して呼び出すようになっています。例えばあるフィールドをフォーム上にスピン編集ボックスの形で表示するためには、そのコンポーネント・ソース上で、フィールドのクラス・リストにSpinEditクラス(PRIM_EVSE)を追加する必要があります。
ビジュアライゼーション・クラス
LANSAには、名前の先頭が「PRIM_」という形の、次のようなクラスが付属しています。
...
フィールドをスピン編集ボックスの形で画面表示する場合の、コンポーネント・コードの例を示します。
Begin_
...
Com Role(*
...
EXTENDS #PRIM_OBJT)
...
Begin_
...
Com Role(*
...
Visual #PRIM_EVSE)
...
Name(#SPINEDIT)
...
DefaultVisual(True)
...
Height(25)
...
Width(270)
...
End_Com
...
End_Com
...
再利用可能パーツのビジュアライゼーション・クラス
独自に用意した再利用可能パーツの形で画面表示することも可能です。組み込みの画面表示クラスでは対応できない場合でも使える、強力な機能と言えます。フィールドを再可能パーツの形で画面表示する、コンポーネント・コードの例を示します。
Begin_
...
Com Role(*
...
EXTENDS #PRIM_OBJT)
...
Begin_
...
Com Role(*VISUAL_
...
PART #PARTNAME) Name(#Custom)
...
Defaultvisual(True)
...
Height(108)
...
End_Com
...
End_Com
...
プロンプタ・クラス
プロンプタもフィールド・ビジュアライゼーションに関する新しい機能のひとつです。とは言っても、これ自身には画面表示機能がなく、フィールドの値を検索、設定するためのフォーム・コンポーネントに過ぎません。LANSAのビジュアライゼーション・クラス、またはPRIM_GRID(グリッド)、PRIM_LTVW(リスト・ビュー)、PRIM_TRVW(ツリー・ビュー)と組み合わせて使います。プロンプタの機能を有効にすると、F4キー、または省略記号ボタン(「…」)を押したとき、プロンプタが画面に現れます。以下にサンプルを示しますが、これは、PROMPTERというプロンプタ・フォームを含む、フィールド・コンポーネントのソースです。プロンプタはVisualEditの形で表示されることになります。
Begin_
...
Com Role(*
...
EXTENDS #PRIM_OBJT)
...
Begin_
...
Com Role(*
...
Visual #PRIM_EVEF)
...
Name(#VisualEdit)
...
Defaultvisual(True)
...
Height(34)
...
Usepicklist(False)
...
Width(202)
...
End_Com
...
Begin_
...
Com Role(*
...
prompter #AFLDVIS0P) Name(#PROMPTER)
...
End_Com
...
End_Com
...
Picklistクラス
これもフィールド・ビジュアライゼーションに関する新しい機能のひとつです。やはりこれ自身には表示機能がなく、他のコンポーネントと組み合わせて使うことになります。これはフィールドが所定の値のうちいずれかしか取りえない場合に使います。例えば「SEX」(性別)というフィールドを考えてみましょう。この場合、「Male」(男)、「Female」(女)の2項目から成るピックリストを用意すればよいことになります。これ以外の値をフィールドに入力することはできません。
以下にサンプルを示しますが、これは、Sexというピックリストに対応して2つのボタンを表示する、フィールド・コンポーネントのソースです。
Begin_
...
Com Role(*
...
EXTENDS #PRIM_OBJT)
...
Begin_
...
Com Role(*
...
Visual #PRIM_EVPL)
...
Name(#PICKLIST)
...
Defaultvisual(True)
...
Height(25)
...
Width(270)
...
End_Com
...
Begin_
...
Com Role(*picklist)
...
Name(#LIST)
Define_
...
Com Class(#PRIM_PKIT)
...
Name(#ITEM1)
...
Caption('Male')
...
Default(True)
...
Parent(#LIST)
...
Value('M')
Define_
...
Com Class(#PRIM_PKIT)
...
Name(#ITEM2)
...
Caption('Female')
...
Parent(#LIST)
...
Value('F')
End_Com
...
End_Com
...