共通プロパティ(カスタムプロパティ)

<< Click to Display Table of Contents >>

マニュアル > コントロールリファレンス > 全コントロール共通 >

共通プロパティ(カスタムプロパティ)


hmtoggle_plus0カスタムプロパティ

 

共通プロパティのCustomizeプロパティを使用することにより、グループコントロールや各コントロールにユーザー独自のプロパティを新たに定義することができます。このプロパティのことを「カスタムプロパティ」と呼びます。

 

例えば、複数のコントロールをグループ化してグループコントロールのカスタムプロパティとしてFillColorプロパティ(背景の色)を定義します。そのプロパティの値を変更するだけでグループメンバである各子オブジェクトの背景の色を一括で変更することができます。

また、子オブジェクトのプロパティをリンクさせる目的以外にも、プロパティのデータ型を指定して、単なるプロパティとして追加することもできます(この場合、どのプロパティともリンクしない独自のプロパティを作成することができます)。

 

例)3つのコントロールのFillColorプロパティを切り替えるため、グループ化してグループコントロールのカスタムプロパティを定義する

 

cr_0021

cr_0022

cr_0023

 

■書式仕様

 

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行目以降にカスタムプロパティの定義を行います。

「カスタムプロパティ名」はどのような名前でも構いません(アルファベットのみ使用可)。その後、カスタムプロパティとしてまとめたい子オブジェクトのプロパティをカンマ区切りで定義します。

複数の子オブジェクトのプロパティを定義したい場合は、その後に続けて記述します。

 

 

hint

1行目の[Property]は、省略することもできます

 

hint

カスタムプロパティ名の命名については、「命名規則」を参照下さい。

 

 

■設定例

 

ここでは例として、上画像にあるような3つの図形コントロールを張り付け、名前(Nameプロパティ)をObj1、Obj2、Obj3と定義します。

次に、以下のようにCustomizeプロパティに定義します。

 

[Property]

_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor

 

これにより、グループコントロールに_FillColorプロパティが新たに作成され、Obj1、Obj2、Obj3のFillColorプロパティを一括で変更できるようになります。

 

cr_0123

 

また、複数のカスタムプロパティを定義したい場合は、以下のように複数行に分けて記述します。

 

[Property]

_Fill=obj1.Fill, obj2.Fill,obj3.Fill

_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor

 

これにより、グループコントロールに_Fillプロパティが新たに作成され、Obj1、Obj2、Obj3のFillプロパティを一括で変更できるようになります。

 

cr_0124

 

また、「ShowProperty」「ShowBind」パラメータを追加することにより、カスタムプロパティをプロパティページ/バインドページで非表示にすることができます。

 

[Property]

_Fill=obj1.Fill, obj2.Fill,obj3.Fill;ShowProperty:F

_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor

 

これにより、_Fillプロパティはプロパティページからは非表示となり、バインドページには表示されます。

 

cr_0125 Propertyページには_Fillは非表示

 

cr_0126 Bindページには表示されている

 

また、いずれのプロパティともリンクさせない独自のプロパティを定義したい場合は、以下のように記述します(データ型を指定)。

 

[Property]

_Flag=[bool]

_Fill=obj1.Fill, obj2.Fill,obj3.Fill

_FillColor=obj1.FillColor, obj2.FillColor,obj3.FillColor

 

これにより、グループコントロールにbool型(True/False)の_Flagプロパティが新たに作成されました。

 

cr_0127

 

 

■旧書式について

 

以下は、カスタムプロパティ定義の旧書式です(Ver5以前の旧バージョン仕様)。旧書式についても上位互換のために従来通りに動作します。

 

旧書式のCustomizeプロパティの書式は以下のとおりです。

 

 [カスタムプロパティ名] , [子オブジェクト名.プロパティ名] , ...

 [カスタムプロパティ名] , [子オブジェクト名.プロパティ名] , ...

 ...

 

カスタムプロティ名の後に、カスタムプロパティとしてまとめたい子オブジェクトのプロパティをカンマ区切りで定義します。

複数の子オブジェクトのプロパティを定義したい場合は、その後に更にカンマ区切りで列挙して記述します。

また、複数のカスタムプロパティを定義したい場合は、以下のように複数行に分けて記述します。

 

 _Fill,Obj1.Fill,Obj2.Fill,Obj3.Fill

 _FillColor,Obj1.FillColor,Obj2.FillColor,Obj3.FillColor

 

※旧書式では、データタイプの指定やプロパティページの表示/非表示などを指定する方法はありません。