v4.0
このメソッドは PPGLayout.AddItem と似ていますが、siControlCombo、siControlRadio、siControlListBox、および SiControlIconList のような列挙形式のコントロールの指定が簡単であるという点が異なります。これらのコントロールは、ユーザが有効な値の特定のリストを指定することでパラメータに設定できる値を制限するものです。これらのコントロールでは、数値または文字列の Parameter を扱うことができます。
PPGItem PPGLayout.AddEnumControl( String in_ParamName, Object in_UIItemsArray, String in_opt_Label, String in_opt_UIType ); |
oReturn = PPGLayout.AddEnumControl( ParamName, UIItemsArray, [Label], [UIType] ); |
パラメータ | タイプ | 説明 |
---|---|---|
ParamName | String | Parameter のスクリプト名。この名前のパラメータが存在しない場合でも呼び出しはエラーになりません。ただし、この場合は、コントロールはレイアウトの一部として表示されません |
UIItemsArray | VariantのArray | ラベル/値の組の 1D 配列。ラベルはすべて文字列で、値はバリアントになります。バリアントの型は関連パラメータの Parameter.ValueType と一致している必要があります。たとえば、ビットフィールドの場合は、配列は Array( "Bit 0", 1, "Bit 1", 2, "Bit 2", 4 )になります。 |
Label | String | ほとんどのコントロールはラベルを持ちます。たとえば、数値スライダの左側に表示されるテキストがラベルにあたります。ここで指定しなかった場合は、パラメータの名前(SIObject.Name を参照)または Parameter.ScriptName が表示されます。 |
UIType | siPPGControlType |
表示するコントロールの種類を指定します。特定のコントロール(siControlCombo、siControlRadio、siControlCheck、siControlIconListなど)のみがサポートされています。
デフォルト値:siControlCombo |
' ' This example demonstrates various Enum Controls ' set oCustomProperty = ActiveSceneRoot.AddProperty( "CustomProperty", false, "Enum Controls" ) 'Create the custom parameters, and set the default values oCustomProperty.AddParameter3 "MyCombo", siString, "Yellow" oCustomProperty.AddParameter3 "MyBitField", siUByte, 68 oCustomProperty.AddParameter3 "MyRadio", siInt4 oCustomProperty.AddParameter3 "NotShown", siInt4 'Define the layout set oLayout = oCustomProperty.PPGLayout 'For the combo box we set the label and the value the same 'because we actually want to store the string the user 'selects as the parameter value dim aComboItems, aBitfieldItems, aRadioItems aComboItems = Array( "Orange", "Orange", _ "Yellow", "Yellow", _ "Apple", "Apple" ) oLayout.AddEnumControl "MyCombo", aComboItems, "Things", siControlCombo ' For a bitfields the values normally should be powers of two ' Notice they can be in any order aBitfieldItems = Array( "Bit 0", 1, _ "Bit 6", 64, _ "Bit 2", 4, _ "Bit 7", 128 ) oLayout.AddEnumControl "MyBitField", aBitfieldItems, , siControlCheck ' Radio button is a good alternative to ComboBox when you only ' have a few options to give to the user aRadioItems = Array( "Slow", 0, _ "Fast", 1 ) oLayout.AddEnumControl "MyRadio", aRadioItems, , siControlRadio InspectObj oCustomProperty |