メンバオブジェクトにアクセスするにはクラスイベントプロシージャ中でのメンバオブジェクトにアクセスメンバオブジェクトにアクセスするには、まずそのオブジェクトが、メンバとして 定義される必要があります (クラスアプリケーションウィンドウ編の[オブジェクトをメンバ変数にするには]の節を参照下さい)。 次の例は、あるクラス(sample)のイベントプロシージャの例です。sample* の base ポインタが数値入力クラスのオブジェクト本体です。 メンバのオブジェクト(例えば、newvlab000)は、base->newvlab000 という具合にアクセスします。
#include <sample.h>
void sample::event_procedure(WSCbase* object){
sample* base = (sample*)object->getUserData(WS_BASE_CLASS);
//何か処理を記述して下さい
//メンバのオブジェクトにアクセス...
WSCvariant val = base->newvlab000->getProperty(WSNuserValue);
...
}
メンバのオブジェクト newvlab000 に base-> でアクセスしている様子が分かります。
メンバ関数中でのメンバオブジェクトにアクセスクラスイベントプロシージャ中でのメンバオブジェクトにアクセスするには、base-> が付きましたが、メンバ関数内 (プロパティハンドラも含みます) では、その必要はありません。次の例は、同じくあるクラス(sample)の メンバ関数である method1()でのメンバオブジェクトのアクセスです。
//サンプルメソッド
void sample::method1(long data){
newvlab000->setProperty(WSNuserValue,data);
...
}
Document Release 2.0 For Use with Wide Studio Release 2.0, Spring 2002
|