| WideStudio Programming Guide | WideStudio Index 目次

> ## オブジェクトのプロパティ値を取得/設定するには

> イベントプロシージャにおいて、オブジェクトのプロパティに対してアクセ スすることができます。次のAPIを利用します。

> アクセス関数 | 機能
> mpfc::WSCvariant mpfc::WSCbase_getProperty() | プロパティ値の取得
> mpfc::WSCvariant mpfc::WSCbase_setProperty() | プロパティ値の設定

> ### プロパティ値の取得

> オブジェクトのプロパティを取得するには、WSCbase クラスのメンバ関数である getProperty() を利用します。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub event_procedure {
>             my ($object) = @_;

>     	# "x" (X座標)プロパティの値の文字列による取得
>     	$x = $object->getProperty("x");
>     	printf("x=%s\n",$x->getCharPtr()); # 文字列の取得

>     	# "y" (Y座標)プロパティの値の取得
>     	$y = $object->getProperty("y");
>     	printf("y=%d\n",$y->getLong()); # long 型の値の取得
>     }
>     1;

> "x" の例では、文字列で値を取得し、 "y" の例では、数値型で受け取っています。関数 getProperty() は、 WSCvariant 型で値を返しますが、WSCvariant 型は、それぞれの型の 値を取り出す事ができます。

> mpfc::WSCvariant 値取得関数 | 機能
> mpfc::WSCvarinat_getChar() | char 型の値の取得
> mpfc::WSCvarinat_getUnsignedChar() | unsigned char 型の値の取得
> mpfc::WSCvarinat_getShort() | short 型の値の取得
> mpfc::WSCvarinat_getUnsignedShort() | unsigned short 型の値の取得
> mpfc::WSCvarinat_getLong() | long 型の値の取得
> mpfc::WSCvarinat_getUnsignedLong() | unsigned long 型の値の取得
> mpfc::WSCvarinat_getInt() | int 型の値の取得
> mpfc::WSCvarinat_getUnsignedInt() | unsigned int 型の値の取得
> mpfc::WSCvarinat_getFloat() | float 型の値の取得
> mpfc::WSCvarinat_getDouble() | double 型の値の取得
> mpfc::WSCvarinat_getCharPtr() | char* 型(文字列)の値の取得

> ### プロパティ値の設定

> オブジェクトのプロパティを設定するには、WSCbase クラスのメンバ関数である setProperty() を利用します。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub event_procedure {
>             my ($object) = @_;

>     	# "x" (X座標)プロパティの文字列による設定
>     	$x="100";
>     	$object->setProperty("x",$x);

>     	# "y" (Y座標)プロパティの設定
>     	$y=100;
>     	$object->setProperty("y",$y);
>     	return;
>     }
>     1;

> "x" の例では、文字列で値を設定しています。"y" の例では、整数型で値 を設定しています。

> ### プロパティ値の描画への反映

> 通常、イベントプロシージャの実行直後に反映されますが、変更後、プロパ ティの値を直ちに反映させたい場合、update()、draw()、redraw() を呼び 出します。
> ウィンドウシステムによっては、(例えば、X11 システムの場合など) 描画 を行った際、すぐにウィンドウシステムに反映されない場合があります。そ のような場合は、WSDappDev クラスの update() を呼び出してください。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub event_procedure {
>       my ($object) = @_;

>       $newvlab_001->setProperty("labelString","テキスト");
>       $newvlab_001->update();    # 直ちにオブジェクトを更新。
>       mpfc::WSGIappDev()->update(); # ウィンドウシステムへの描画要求を反映させます。

>       $newvlab_002->setProperty("labelString","テキスト");
>       $newvlab_002->update();    # 直ちにオブジェクトを更新。
>       mpfc::WSGIappDev()->update(); # ウィンドウシステムへの描画要求を反映させます。
>       return;
>     }
>     1;

Document Release 3.70 for WideStudio ver 3.70, May 2004

WideStudio documents index | 目次

Copyright(C) WideStudio Development Team, 1999-2004 | Last modified: May 25, 2004