共通プロパティのCustomizeプロパティを使用することにより、グループコントロールや各コントロールにユーザー独自のプロパティを新たに定義することができます。このプロパティのことを「カスタムプロパティ」と呼びます。
例えば、複数のコントロールをグループ化してグループコントロールのカスタムプロパティとしてFillColorプロパティ(背景の色)を定義します。そのプロパティの値を変更するだけでグループメンバである各子オブジェクトの背景の色を一括で変更することができます。
また、子オブジェクトのプロパティをリンクさせる目的以外にも、プロパティのデータ型を指定して、単なるプロパティとして追加することもできます(この場合、どのプロパティともリンクしない独自のプロパティを作成することができます)。
例)3つのコントロールのFillColorプロパティを切り替えるため、グループ化してグループコントロールのカスタムプロパティを定義する
■書式仕様
Customizeプロパティの書式は以下のとおりです。
[Property]
カスタムプロパティ名=子オブジェクト名.プロパティ名[,子オブジェクト名.プロパティ名…][;追加パラメータ…]
カスタムプロパティ名=プロパティタイプ[;追加パラメータ]
…
使用可能なプロパティタイプ:
[bool]
[integer]
[number]
[string]
[multilinestring]
[color]
[font]
[filepath]
[filepaths]
追加パラメータ ・・・パラメータ名:値。複数指定する場合はセミコロンで区切って指定
ShowProperty:F(デフォルト値:T) ・・・プロパティページ表示/非表示
ShowBind:F(デフォルト値:T) ・・・バインドページ表示/非表示
List:列挙値 ・・・プロパティページのリストボックスへ表示する場合、カンマ形式で列挙する文字列を指定。
例)List:True,False ※[string]の時のみ有効。
1行目に[Property]と記述し、2行目以降にカスタムプロパティの定義を行います。
「カスタムプロパティ名」はどのような名前でも構いません(アルファベットのみ使用可)。その後、カスタムプロパティとしてまとめたい子オブジェクトのプロパティをカンマ区切りで定義します。
複数の子オブジェクトのプロパティを定義したい場合は、その後に続けて記述します。
|
1行目の[Property]は、省略することもできます。
|
|
カスタムプロパティ名の命名については、「命名規則」を参照下さい。
|
■設定例
ここでは例として、上画像にあるような3つの図形コントロールを張り付け、名前(Nameプロパティ)をObj1、Obj2、Obj3と定義します。
次に、以下のようにCustomizeプロパティに定義します。
[Property]
_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor
これにより、グループコントロールに_FillColorプロパティが新たに作成され、Obj1、Obj2、Obj3のFillColorプロパティを一括で変更できるようになります。
また、複数のカスタムプロパティを定義したい場合は、以下のように複数行に分けて記述します。
[Property]
_Fill=obj1.Fill, obj2.Fill,obj3.Fill
_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor
これにより、グループコントロールに_Fillプロパティが新たに作成され、Obj1、Obj2、Obj3のFillプロパティを一括で変更できるようになります。
また、「ShowProperty」「ShowBind」パラメータを追加することにより、カスタムプロパティをプロパティページ/バインドページで非表示にすることができます。
[Property]
_Fill=obj1.Fill, obj2.Fill,obj3.Fill;ShowProperty:F
_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor
これにより、_Fillプロパティはプロパティページからは非表示となり、バインドページには表示されます。
Propertyページには_Fillは非表示
Bindページには表示されている
また、いずれのプロパティともリンクさせない独自のプロパティを定義したい場合は、以下のように記述します(データ型を指定)。
[Property]
_Flag=[bool]
_Fill=obj1.Fill, obj2.Fill,obj3.Fill
_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor
これにより、グループコントロールにbool型(True/False)の_Flagプロパティが新たに作成されました。
■旧書式について
以下は、カスタムプロパティ定義の旧書式です(Ver5以前の旧バージョン仕様)。旧書式についても上位互換のために従来通りに動作します。
旧書式のCustomizeプロパティの書式は以下のとおりです。
[カスタムプロパティ名] , [子オブジェクト名.プロパティ名] , ...
[カスタムプロパティ名] , [子オブジェクト名.プロパティ名] , ...
...
カスタムプロティ名の後に、カスタムプロパティとしてまとめたい子オブジェクトのプロパティをカンマ区切りで定義します。
複数の子オブジェクトのプロパティを定義したい場合は、その後に更にカンマ区切りで列挙して記述します。
また、複数のカスタムプロパティを定義したい場合は、以下のように複数行に分けて記述します。
_Fill,Obj1.Fill,Obj2.Fill,Obj3.Fill
_FillColor,Obj1.FillColor,Obj2.FillColor,Obj3.FillColor
※旧書式では、データタイプの指定やプロパティページの表示/非表示などを指定する方法はありません。
|