フィールド名
STD_NUM
説明
STD_NUMフィールドを例として、UsePicklistの動作を説明します。
PRIM_EVEF、PRIM_EVSE、PRIM_GDCL、PRIM_LVCL、PRIM_TVCLにはいずれも、UsePicklistというプロパティがあります。これは設計時にのみ必要となるプロパティです。コンポーネントの表示方法について、フィールドに別途指定したピックリストを援用するかどうか、切り替える役割があります。
例:数値フィールドの表示方法として「PRIM_EVSE(SpinEdit)」が定義され、さらにピックリストも指定されているとしましょう。UsePicklistプロパティがFALSEであれば、スピン編集ボックスの形で表示したとき、所定の数値範囲にわたって値を調整するという、普通の使い方ができるようになります。一方、TRUEであれば、ピックリストに列挙されている値を順に切り替える、という使い方になります。
このプロパティの目的は、旧版との互換性を維持しながら新しい機能も使えるようにすることです。旧コンポーネントもUsePicklist = FALSEであれば従来通りの動作をする一方、新しいコンポーネントをUsePicklist = TRUEとすれば、新たな機能が使えるようになるのです。
詳細
フィールド・コンポーネントのソースに、下記に示す、フィールドのソースを追加してください。いったんフィールドを保存し、スピン編集ビジュアライゼーションを使用します。
フィールドのソース
Begin_Com Role(*EXTENDS #PRIM_OBJT)
Begin_Com Role(*Visual #PRIM_EVEF) Name(#VisualEdit) Height(19) Usepicklist(False) Width(262)
End_Com
Begin_Com Role(*Visual #PRIM_EVSE) Name(#VisualSpinEdit) Defaultvisual(True) Height(19) Usepicklist(False) Width(262)
End_Com
Begin_Com Role(*picklist) Name(#Picklist)
Define_Com Class(#PRIM_PKIT) Name(#Item_1) Caption('Item 1') Default(True) Parent(#Picklist) Value(1)
Define_Com Class(#PRIM_PKIT) Name(#Item_2) Caption('Item 2') Parent(#Picklist) Value(2)
Define_Com Class(#PRIM_PKIT) Name(#Item_3) Caption('Item 3') Parent(#Picklist) Value(3)
Define_Com Class(#PRIM_PKIT) Name(#Item_4) Caption('Item 4') Parent(#Picklist) Value(4)
Define_Com Class(#PRIM_PKIT) Name(#Item_5) Caption('Item 5') Parent(#Picklist) Value(5)
End_Com
End_Com
フォームのソース(UsePicklist = FALSEの場合)
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(108) Clientwidth(492) Height(135) Left(304) Top(155)
Define_Com Class(#STD_NUM.Visual) Name(#STD_NUM) Displayposition(1) Left(96) Parent(#COM_OWNER) Tabposition(1) Top(32)
End_Com
外観(UsePicklist = FALSEの場合)
フォームのソース(UsePicklist = TRUEの場合)
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(108) Clientwidth(492) Height(135) Left(304) Top(155)
Define_Com Class(#STD_NUM.Visual) Name(#STD_NUM) Displayposition(1) Left(96) Parent(#COM_OWNER) Tabposition(1) Top(32) Usepicklist(True)
End_Com
外観(UsePicklist = TRUEの場合)