WideStudio/MWT Class Reference

WideStudio/MWT Home
Up to


クラスの型

WSCbase

メソッド関数仕様



getNewInstance 関数の説明

書式
WSCbase* WSCbase::getNewInstance(char* class_name,WSCbase* parent,char* name)
機能
インスタンスを取得します。
処理
指定されたクラス名のインスタンスを生成します。
引数
(in)char* class_name クラス名
(in)WSCbase* parent 親インスタンス
(in)char* name インスタンス名
返値
WSCbase 型ポインタ = 正常、NULL = エラー。
注意
インスタンスの生成後、この関数を一度だけ呼び出して初期化します。 指定されたクラスが、アプリケーションにリンクしているライブラリ中に 存在しない場合、インスタンスの生成に失敗し、NULL を返す場合があります。
サンプル
WSCbase* create_proc(WSCbase* parent){
   WSCbase* inst = WSCbase::getNewInstance("WSCdialog",parent,"newwin000");
   inst->initialize();
   inst->setProperty(WSNtitleString,"title1");
   inst->setProperty(WSNvis,(WSCbool)1);
   return inst;
}



initialize 関数の説明

書式
long initialize()
機能
インスタンスの初期化を行います。 インスタンスを生成した直後にこの関数を呼び出して、 初期化を行わなければなりません。
処理
インスタンスを使用可能な状態にします。
引数
なし。
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
インスタンスの生成後、この関数を一度だけ呼び出して 初期化します。 同じインスタンスに対して複数回実行してはいけません。
サンプル
WSCbase* create_proc(WSCbase* parent){
   WSCbase* inst = new  WSCdialog(parent,"newwin000");
   inst->initialize();
   inst->setProperty(WSNtitleString,"title1");
   inst->setProperty(WSNvis,(WSCbool)1);
   return inst;
}



getInitialized 関数の説明

書式
WSCbool getInitialized()
機能
インスタンスの初期化状態を取得する関数です。 インスタンスが正しく初期化されている場合、 True が返され、そのインスタンスが使用可能であることを 示します。
処理
インスタンスが正しく初期化されているかどうかを、 取得します。
引数
なし。
返値
True= 初期化済み、False=未初期化。
注意
サンプル
void sample_proc(WSCbase* object){
  if (object->getInitialized() != False){
    //object は initialize() を呼び出され、初期化されています。
  }else{
    //object is not initialized..
  }
}



getInstanceName 関数の説明

書式
char* getInstanceName()
機能
インスタンスの名称を取得する関数です。 返された値を解放してはいけません。また、 setInstanceName() 関数が呼び出されると、 元の名称を保持していた文字列へのポインタが 無効化されるので注意が必要です。
処理
引数
なし。
返値
インスタンスの名称
注意
返された値を解放してはいけません。また、 取得された値は、setInstanceName() 関数の呼び出しで、 無効となります。
サンプル
void sample_proc(WSCbase* object){
  char* iname = object->getInstanceName();
  printf("instance name=%s\n",iname);

  char* iname2 = object->getInstanceName();
  object->setInstanceName("new-name");
  //間違い! iname2 は setInstanceName によって、ポインタが無効になっている。
  printf("instance name=%s\n",iname2);

  //WSCstring にインスタンス名を格納することで、
  //setInstaceName() でも値が無効になりません。
  WSCstring iname3;
  iname3 = object->getInstanceName();
  printf("instance name=%s\n",(char*)iname3);
}



setInstanceName 関数の説明

書式
void setInstanceName(char* name)
機能
インスタンスに対して、新しい名称を設定する関数です。
処理
引数
(in)char* name インスタンス名称
返値
なし。
注意
サンプル
getInstanceName() を参照してください。



getClassName 関数の説明

書式
char* getClassName()
機能
インスタンスのクラス名称を取得する関数です。 返された値を解放してはいけません。
処理
引数
なし。
返値
クラス名称を返します。
注意
返された値を解放してはいけません。
サンプル
void sample_proc(WSCbase* object){
  char* cname = object->getClassName();
  printf("class name=%s\n",cname);
}



cast 関数の説明

書式
void* cast(char* class_name)
機能
抽象化されているポインタを具体化するために、 逆キャストの機能を提供する関数です。 dynamic_cast をサポートしていない コンパイラ系への対応として、この関数によって逆キャストを 可能にしています。引数には取得したいクラスの名称を 文字列で与えます。キャストに失敗すると NULL が返されます。
処理
引数
(in)char* class_name 取得したいクラスの名称
返値
指定されたクラスのポインタ
注意
インスタンスと関係の無いクラス名称を与えられると NULL が 返されます。
サンプル
void sample_proc(WSCbase* object){
  // WSCvlabel* label = (WSCvlabel*)object; //これはコンパイルエラー
  WSCvlabel* label = (WSCvlabel*)object->cast("WSCvlabel");
  if (label == NULL){
    //object が、もともと WSCvlabel クラスとは関係の無いインスタンスの場合、
    //NULL が返されます。
  }else{
    //キャスト成功。
    //object が、指定したクラスを継承したものである場合は、正しいポインタが
    //返されます。
  }
}



setProperty 関数の説明

書式
WSCbool setProperty(const char* pname,const WSCvariant& value)
機能
指定されたプロパティに値を設定する関数です。 第一引数にプロパティ名称を指定し、 第二引数に設定する値を指定します。 プロパティ名称に無効な存在しないプロパティ名称を与えた場合は、 False が返されます。 第二引数には WSCvariant 型にキャスト可能な変数を渡します。
処理
与えられたプロパティ名称でプロパティを検索し、 見付かったプロパティに値を設定します。
引数
(in)char* pname プロパティ名称
(in)WSCvariant& value プロパティの値
返値
プロパティが存在し、正しく設定されると True、 そうでない場合、False が返されます。
注意
第2引数は、WSCvariant にキャストされる型を指定します。
サンプル
void sample_proc(WSCbase* object){
  long  val1 = 1;
  object->setProperty(WSNlabelString,val1); //long 値による設定
  char* val2 = "char* string..";
  object->setProperty(WSNlabelString,val2); //文字列による設定
  WSCstring val3 = "WSCstring..";
  object->setProperty(WSNlabelString,val3); //WSCstring文字列による設定
  WSCvariant val4 = 1;
  object->setProperty(WSNlabelString,val4); //WSCvariantによる設定
}



getProperty 関数の説明

書式
WSCvariant getProperty(char* pname)
機能
指定されたプロパティ値を取得する関数です。 指定したプロパティの値を WSCvariant 型で返します。 適切な変数型に変換して使用します。 文字列値を取得する場合は、いったん WSCstring 型 又はWSCvariant 型で取得して、 char* 型へキャストして使用しなければなりません。
処理
与えられたプロパティ名称でプロパティを検索し、 見付かったプロパティの値を返値します。
引数
(in)char* pname プロパティ名称
返値
WSCvariant型で、プロパティの値が返されます。 int,long,short,float,double などの整数型、実数型は直接 返り値を受け取ることができますが、 文字列の値の取得の場合、char* ではなく、WSCstring 型で 取得する必要があります。
注意
サンプル
void sample_proc(WSCbase* object){
  long  val1 = object->getProperty(WSNlabelString); //long 値による取得
  printf("val1=%d\n",val1);
  //文字列による取得
  WSCstring val2 = object->getProperty(WSNlabelString); //文字列による取得
  printf("val2=%s\n",(char*)val2);
//やってはいけません。無効ポインタになります。
//  char* val2 = object->getProperty(WSNlabelString);
}



setVisible 関数の説明

書式
void setVisible(WSCbool fl)
機能
表示属性(WSNvis プロパティ)を設定する関数です。 属性は True (表示)または False (非表示)で指定します。 親が非表示状態の場合は、そのインスタンスの表示属性を True にしても表示されないので注意が必要です。
処理
引数
(in)WSCbool fl 表示属性 True=表示、False=非表示
返値
なし。
注意
通常のインスタンスにおいて、親が非表示状態である場合、 表示属性を True としても表示されません。
サンプル
表示属性を反転する例です。
void sample_proc(WSCbase* object){
  if ( object->getVisible() == False){
    object->setVisible(True);
  }else{
    object->setVisible(False);
  }
}



getVisible 関数の説明

書式
WSCbool getVisible()
機能
表示属性を取得する関数です。親インスタンスが非表示の場合は False を返すため、そのインスタンスの WSNvis プロパティの値と 必ずしも一致するとは限らないので注意が必要です。
処理
親を含めて、現在表示状態にあるかどうかを取得します。
引数
なし。
返値
現在の表示状態を返値します。
注意
WSNvis プロパティとは必ずしも、値は一致するとは限りません。
サンプル
setVisible() を参照してください。



setSensitive 関数の説明

書式
void setSensitive(WSCbool fl)
機能
操作属性(WSNdet プロパティ)を設定する関数です。 属性は True (操作可)または False (操作不可)で指定します。 親インスタンスが操作不可状態の場合は、 操作属性を True にしても、操作不可のままとなります。 この状態でも WSNdet プロパティの値は True なので注意が必要です。 また、この状態で親インスタンスを操作可能にすると、 その時点で子も操作可能になります。
処理
引数
(in)WSCbool fl 操作属性 True=操作可、False=操作不可
返値
なし。
注意
通常のインスタンスにおいて、親が操作不可状態で操作属性を True としても操作可能状態とはなりません。
サンプル
選択属性を反転する例です。
void sample_proc(WSCbase* object){
  if ( object->getSensitive() == False){
    object->setSensitive(True);
  }else{
    object->setSensitive(False);
  }
}



getSensitive 関数の説明

書式
WSCbool getSensitive()
機能
操作可能かどうかを調べる関数です。操作可能なら True 、 操作不可なら False を返します。 親インスタンスが操作不可状態の場合、False が返されるため、 そのインスタンスの WSNdet プロパティの値と 必ずしも一致するとは限らないので注意が必要です。
処理
親を含めて、現在選択可能状態にあるかどうかを取得します。
引数
なし。
返値
現在の選択属性の状態を返値します。
注意
WSNdet プロパティとはかならずしも一致しません。
サンプル
setSensitive() を参照してください。



draw 関数の説明

書式
long draw()
機能
インスタンスを描画させる関数です。描画する必要がない場合は、 当関数を呼び出しても描画は実行されません。 強制的な描画が必要な場合は、 setAbseluteDraw(True) を 実行してから draw 関数を呼び出します。
処理
引数
なし。
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
一度描画されて、再度描画する必要が無い場合、 当関数は、描画を実行しません。強制的に描画させたい場合は、 メンバ関数 setAbsoluteDraw(True) を実行してください。
サンプル
void sample_proc(WSCbase* object){
  //描画の必要がある場合にのみ描画する場合。
  object->draw();
  //強制描画を行う場合。
  object->setAbsoluteDraw(True);
  object->draw();
  //EXPOSE イベントを発生させて、再描画を行う場合。
  object->redraw();

}



redraw 関数の説明

書式
long redraw()
機能
インスタンスの描画を一度クリアして描画する関数です。
処理
EXPOSE イベントを発生させ、描画を実行します。
引数
なし。
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
サンプル
draw()を参照してください。



update 関数の説明

書式
void update()
機能
プロパティ等が変化して再描画が必要な場合に、 内部データの更新処理を行い、再描画を行う関数です。 draw や redraw と異なり、単に再描画を行うだけでなく、 必要であれば内部のデータ更新も伴います。
処理
引数
なし。
返値
なし。
注意
サンプル
void sample_proc(WSCbase* object){
  //更新処理の必要がある場合にのみ更新する場合。
  object->update();
}



getChildren 関数の説明

書式
WSClistData& getChildren()
機能
子のリストを取得します。子を管理する機能を有するクラスで 機能します。getObjectType 関数により、 子を管理する機能を持つか判定することができます。
処理
引数
なし。
返値
子のリスト
注意
WSCform クラス、 WSCwindow クラスなどの、子の管理機能を持つクラスで機能します。
サンプル
  WSClistData children = parent->getChildren();
  int i;
  int num = children.getNum();
  for(i=0; i < num; i++){
    WSCbase* child = (WSCbase*)children[i];
    //child に対して何か処理を行います。
  }



execProcedure 関数の説明

書式
void execProcedure(long trigger)
機能
引数に指定したトリガ属性でイベトプロシージャを実行する 関数です。 該当するイベントプロシージャが登録されていない場合は 無視されます。 クラスによってはトリガの意味が多少異なる場合があります。 各クラスで使用可能なトリガは、そのクラスの解説を 参照してください。
処理
引数
(in)long trigger トリガ

指定可能なトリガには、次のようなものがあります。
定義値 意味
WSEV_INITIALIZE 初期化トリガ
WSEV_DELETE 解放トリガ
WSEV_ACTIVATE 活性化トリガ
WSEV_VALUE_CH 値変化トリガ
WSEV_FOCUS_CH フォーカス変化トリガ
WSEV_VISIBLE_CH 表示状態変化トリガ
WSEV_SENSITIVE_CH 操作属性変化トリガ
WSEV_PARENT_VISIBLE_CH 親表示状態変化トリガ
WSEV_PARENT_SENSITIVE_CH 親操作属性変化トリガ
WSEV_EXPOSE 露出トリガ
WSEV_RESIZE サイズ変化トリガ
WSEV_MOUSE_IN マウス内入トリガ
WSEV_MOUSE_OUT マウス外出トリガ
WSEV_MOUSE_PRESS マウスボタン押下トリガ
WSEV_MOUSE_RELEASE マウスボタン開放トリガ
WSEV_MOUSE_MOVE マウス移動トリガ
WSEV_KEY_PRESS キー押下トリガ
WSEV_KEY_RELEASE キー開放トリガ
WSEV_KEY_HOOK キー搾取トリガ
WSEV_SORT ソートトリガ
WSEV_GUI_POLICY_CH ルックアンドフィール変化トリガ
WSEV_ITEM_SELECTED 項目選択トリガ
WSEV_STATUS_CH 状態変化トリガ
WSEV_INPUT_FIXED 入力確定トリガ
WSEV_BEGIN 先頭移動トリガ
WSEV_END 末尾移動トリガ
WSEV_INCREMENT 値増トリガ
WSEV_DECREMENT 値減トリガ
WSEV_PAGE_INCREMENT 値ページ増トリガ
WSEV_PAGE_DECREMENT 値ページ減トリガ

(注意)クラスによって、トリガの意味は多少異なる場合があります。
返値
なし。
注意
該当するイベントプロシージャが無い場合は、何も実行しません。 また、新たなクラス派生し、新たなトリガを追加定義する場合、 トリガとして設定可能な上限値 127 に注意して、追加定義してください。
サンプル
void sample_proc(WSCbase* object){
  object->execProcedure(WSEV_ACTIVATE);
}



execProcedure 関数の説明

書式
void execProcedure(char* pname)
機能
引数に指定した名称でイベントプロシージャを実行する関数です。 プロシージャに設定されている名称を引数として実行することが できます。該当するイベントプロシージャが登録されていない 場合は無視されます。
処理
指定された名称のイベントプロシージャが存在するならば、 それを実行します。
引数
(in)char* pname イベントプロシージャ名称
返値
なし。
注意
該当するイベントプロシージャが無い場合は、何も実行しません。
サンプル
void sample_proc(WSCbase* object){
  object->execProcedure("イベントプロシージャ名称");
}



setFocus 関数の説明

書式
long setFocus(WSCbool fl = True)
機能
インスタンスのフォーカスを設定する関数です。 引数に True が指定されるとフォーカスされた状態になり、 False が指定されるとフォーカスを失います。 引数を省略した場合は、True を指定したとみなされます。
処理
フォーカスの状態変化により、WSEV_FOCUS_CH トリガが 発生し、onFocusChange 関数が起動されます。
引数
(in)WSCbool fl True = あてる、False = 外す
返値
WS_NO_ERR = 正常、それ以外はエラー。
注意
フォーカスの状態変化により、onFocusChange() イベント関数が 起動し、WSEV_FOCUS_CH が発生します。
サンプル
void sample_proc(WSCbase* object){
  //フォーカスをあてる場合1。
  object->setFocus();
  //フォーカスをあてる場合2。
  object->setFocus(True);
  //フォーカスをはずす場合。
  object->setFocus(False);
}



setSpecialFocus 関数の説明

書式
long setSpecialFocus(WSCbool fl = True)
機能
リターンキー特別フォーカスを設定する関数です。 通常のフォーカス移動とは異なり、 この関数ではリターンキー特別フォーカスを移動させます。 True が指定されると、リターンキー特別フォーカスを設定し、 False が指定されるとリターンキー特別フォーカスを失います。 引数を省略した場合は、True を指定したとみなされます。 リターンキー特別フォーカスにより、 リターンキー入力のみを WSCvbtn に割り当て、 通常のキー入力を WSCvifield などに割り当てるといった処理を 行なうことができます。
処理
フォーカスの状態変化によって WSEV_SPECIAL_FOCUS_CH トリガが 発生し、onSpecialFocusChange 関数が起動されます。
引数
(in)WSCbool fl True = あてる、False = 外す
返値
WS_NO_ERR = 正常、それ以外はエラー。
注意
フォーカスの状態変化により、onSpecialFocusChange() イベント関数が起動し、WSEV_SPECIAL_FOCUS_CH が発生します。
サンプル
void sample_proc(WSCbase* object){
  //フォーカスをあてる場合1。
  object->setSpecialFocus();
  //フォーカスをあてる場合2。
  object->setSpecialFocus(True);
  //フォーカスをはずす場合。
  object->setSpecialFocus(False);
}



getFocus 関数の説明

書式
WSCbool getFocus()
機能
フォーカス状態を取得する関数です。
処理
引数
なし。
返値
True = フォーカス状態である、False = フォーカス状態でない。
注意
サンプル
void sample_proc(WSCbase* object){
  WSCbool fl = object->getFocus();
  if (fl == False){
    //フォーカス状態でない。
  }else{
    //フォーカス状態である。
  }
}



getFocusInstance 関数の説明

書式
WSCbase* WSCbase::getFocusInstance()
機能
フォーカスを獲得しているインスタンスを取得する関数です。
処理
引数
なし。
返値
フォーカスを取得しているインスタンス
注意
サンプル
void sample_proc(WSCbase* object){
  WSCbase* finst = WSCbase::getFocusInstance();
  if (finst == NULL){
    //フォーカスを取得したいインスタンスは存在しない。
  }else{
    //finst はフォーカス状態である。
  }
}



getSpecialFocus 関数の説明

書式
WSCbool getSpecialFocus()
機能
リターンキー特別フォーカス状態を取得する関数です。
処理
引数
なし。
返値
True = フォーカス状態である、False = フォーカス状態でない。
注意
サンプル
void sample_proc(WSCbase* object){
  WSCbool fl = object->getSpecialFocus();
  if (fl == False){
    //リターンキー特別フォーカス状態でない。
  }else{
    //リターンキー特別フォーカス状態である。
  }
}



getAllChildren 関数の説明

書式
long getAllChildren(WSClistData &list)
機能
そのインスタンスが管理するすべての子インスタンスのリストを 取得する関数です。getChildren 関数が直下のインスタンスのみを 対象とするのに対し、getAllChildren は再帰的にすべての 子インスタンスをたどってリストアップします。
処理
getChildren() は、自分の直下のみのインスタンスを対象とするのに 対し、getAllChildren() は、その子のまた子まで、全てをたどります。
引数
(out)WSClistData& list 返り値を格納するリストを渡します
返値
WS_NO_ERR = 正常、それ以外はエラー。
注意
サンプル
void sample_proc(WSCbase* object){
  WSClistData children;
  object->getAllChildren(children);
  int i;
  long num = children.getNum();
  for(i=0; i< num; i++){
    WSCbase* child = (WSCbase*)children[i];
    // 個々の子インスタンスに処理を行います。
  }
}



getParentWindow 関数の説明

書式
WSCbase* getParentWindow()
機能
アプリケーションウィンドウを返す関数です。 自分自身がアプリケーションウィンドウの場合は、 自分自身が返されます。
処理
親をたどっていき、一番上位のもの、すなわち、 アプリケーションウィンドウを返します。
引数
なし。
返値
アプリケーションウィンドウを返します。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  WSCbase* parent_window = object->getParentWindow();
}



getParent 関数の説明

書式
WSCbase* getParent()
機能
自分を管理している親インスタンスを返す関数です。
処理
同上。
引数
なし。
返値
親インスタンスを返します。
注意
親インスタンスがないアプリケーションウィンドウなどの場合は、 NULL を返します。
サンプル
void sample_proc(WSCbase* object){
  WSCbase* parent = object->getParent();
}



onMouseIn 関数の説明

書式
virtual void onMouseIn(WSCpoint* pt)
機能
マウスポインタがインスタンス内に移動して来たとき、 この関数が実行されます。派生クラスでは、 トリガ(WSEV_MOUSE_IN)によるイベントプロシージャを用いる 代わりに、この関数をオーバーライドすることでも、 マウスポインタに関するイベント処理を行うことができます。
処理
引数
(out)WSCpoint* pt マウスポインタのインスタンス内の座標
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onMouseIn(WSCpoint* pt){
  short x = pt->x; //X座標 
  short y = pt->y; //Y座標 
  //派生クラスでマウスポインタがインスタンス内に移動して来た場合に
  //行う処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onMouseIn(pt);
}



onMouseOut 関数の説明

書式
virtual void onMouseOut()
機能
マウスポインタがインスタンス外に移動したとき、 この関数が実効されます。 派生クラスでは、トリガ(WSEV_MOUSE_OUT)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、マウスポインタに関する イベント処理を行うことができます。
処理
引数
なし。
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onMouseOut(){
  //派生クラスでマウスポインタがインスタンス外に移動して来た場合に
  //行う処理を記述します。
   
  //処理を派生元クラスに引き継ぎます。
  old_class::onMouseOut();
}



onMouseMove 関数の説明

書式
virtual void onMouseMove(WSCpoint* pt)
機能
マウスポインタがインスタンス内で移動したとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_MOUSE_MOVE)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、マウスポインタに関する イベント処理を行うことができます。
処理
引数
(out)WSCpoint* pt マウスポインタのインスタンス内の座標
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onMouseMove(WSCpoint* pt){
  short x = pt->x; //X座標 
  short y = pt->y; //Y座標 
  //派生クラスでマウスポインタが移動した場合に
  //行う処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onMouseMove(pt);
}



onMousePress 関数の説明

書式
virtual void onMousePress(WSCpoint* pt)
機能
マウスボタンがインスタンス内で押下されたとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_MOUSE_PRESS)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、マウスポインタに関する イベント処理を行うことができます。
処理
引数
(out)WSCpoint* pt マウスポインタのインスタンス内の座標
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
#include <WSDmouse.h>
void new_class::onMousePress(WSCpoint* pt){
  short x = pt->x; //X座標 
  short y = pt->y; //Y座標 
  //派生クラスでマウスボタンが押下された場合に
  //行う処理を記述します。
  long status  = WSGIappMouse()->getMouseStatus();
  if (status & WS_MOUSE_BTN1){
    //左ボタンが押されている。
  }
  if (status & WS_MOUSE_BTN2){
    //中ボタンが押されている。
  }
  if (status & WS_MOUSE_BTN3){
    //右ボタンが押されている。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onMousePress(pt);
}



onMouseRelease 関数の説明

書式
virtual void onMouseRelease(WSCpoint* pt)
機能
マウスボタンがインスタンス内で離されたとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_MOUSE_RELEASE)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、マウスポインタに関する イベント処理を行うことができます。
処理
引数
(out)WSCpoint* pt マウスポインタのインスタンス内の座標
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
#include <WSDmouse.h>
void new_class::onMouseRelease(WSCpoint* pt){
  short x = pt->x; //X座標 
  short y = pt->y; //Y座標 
  //派生クラスでマウスボタンが離された場合に
  //行う処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onMouseRelease(pt);
}



onExpose 関数の説明

書式
virtual void onExpose(WSCrect* rect)
機能
インスタンスが露出し描画が必要になったとき、 この関数が実行されます。 描画の領域は X 座標、Y 座標、幅、高さを持つWSCrect 型の 変数で渡されます。 派生クラスでは、トリガ(WSEV_EXPOSE)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、EXPOSE イベントに関する イベント処理を行うことができます。
処理
引数
(out)WSCrect* rect インスタンス内の露出した領域の座標、幅、縦幅
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onExpose(WSCrect* rect){
  //EXPOSE に必要な処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onExpose(rect);
}



onResize 関数の説明

書式
virtual void onResize(WSCrect* rect)
機能
インスタンスがサイズ変更されたとき、この関数が実行されます。 派生クラスでは、トリガ(WSEV_RESIZE)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、サイズ変更に関する イベント処理を行うことができます。
処理
引数
(out)WSCrect* rect インスタンスの座標、幅、縦幅
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onResize(){
  //RESIZE に必要な処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onResize();
}



onVisibleChange 関数の説明

書式
virtual void onVisibleChange(WSCbool vis)
機能
インスタンスの可視属性が変化したとき、この関数が実行されます。 派生クラスでは、トリガ(WSEV_VISIBLE_CH)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、表示属性に関する イベント処理を行うことができます。
処理
引数
(out)WSCbool vis インスタンスの新しい可視状態
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onVisibleChange(WSCbool vis){
  //表示属性変化時に必要な処理を記述します。
  if (vis == False){
    //不可視状態である。
  }else{
    //可視状態である。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onVisibleChange(vis);
}



onParentVisibleChange 関数の説明

書式
virtual void onParentVisibleChange(WSCbool vis)
機能
親インスタンスの可視属性の変化に伴い操作状態が変化したとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_PARENT_VISIBLE_CH)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、表示属性に関する イベント処理を行うことができます。
処理
引数
(out)WSCbool vis 親インスタンスの新しい可視状態
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onParentVisibleChange(WSCbool vis){
  //親インスタンス表示属性変化時に必要な処理を記述します。
  if (vis == False){
    //不可視状態である。
  }else{
    //可視状態である。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onParentVisibleChange(vis);
}



onSensitiveChange 関数の説明

書式
virtual void onSensitiveChange(WSCbool det)
機能
インスタンスの選択属性が変化したとき、この関数が実行されます。 派生クラスでは、トリガ(WSEV_SENSITIVE_CH)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、選択属性に関する イベント処理を行うことができます。
処理
引数
(out)WSCbool det インスタンスの新しい選択属性
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onSensitiveChange(WSCbool vis){
  //操作属性変化時に必要な処理を記述します。
  if (vis == False){
    //操作不可状態である。
  }else{
    //操作可能状態である。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onSensitiveChange(vis);
}



onParentSensitiveChange 関数の説明

書式
virtual void onParentSensitiveChange(WSCbool det)
機能
親インスタンスの選択属性の変化により、選択状態が 変化した場合に実行されます。 派生クラスでは、トリガ(WSEV_PARENT_SENSITIVE_CH)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、選択属性に関する イベント処理を行うことができます。
処理
引数
(out)WSCbool det 親インスタンスの新しい選択属性
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onParentSensitiveChange(WSCbool vis){
  //親インスタンス操作属性変化時に必要な処理を記述します。
  if (vis == False){
    //操作不可状態である。
  }else{
    //操作可能状態である。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onParentSensitiveChange(vis);
}



onChildAdded 関数の説明

書式
virtual void onChildAdded(WSCbase* child)
機能
子インスタンスが追加されたとき、この関数が実行されます。 派生クラスでは、この関数をオーバーライドすることにより、 子インスタンス追加に関するイベント処理を行うことができます。
処理
引数
(out)WSCbase* child 追加された子インスタンス
返値
なし。
注意
クラスを派生させる場合にオーバーライドして利用します。
サンプル
void new_class::onChildAdded(WSCbase* child){
  //子インスタンスが追加された場合に必要な処理を記述します。

  //処理を派生元クラスに引き継ぎます。
  old_class::onChildAdded(child);
}



setData 関数の説明

書式
virtual void setData(WSCvariant* data,long encoding = WS_EN_DEFAULT)
機能
データソース指定をサポートするインスタンスで、 データソースを設定する関数です。データソースとして定義されている プロパティにバリアント(WSCvariant)型でデータを指定します。 文字列の場合はエンコード属性値を指定できます。 エンコード属性値を省略すると、WS_EN_DEFAULT とみなされます。
処理
引数
(in)WSCvariant* data インスタンスに設定したいデータ
(in)long encoding 文字列型を指定した場合のエンコーディングの指定

コードには次のような値が指定できます。省略するとWS_EN_DEFAULT を指定した場合と同じになります。
意味
WS_EN_DEFAULT 現在の設定を指定
WS_EN_LOCALE 現在の LANG 環境変数の設定を指定
WS_EN_NONE 設定を行わない
WS_EN_ISO8859_1 ISO8859(1) を指定
WS_EN_ISO8859_2 ISO8859(2) を指定
WS_EN_ISO8859_3 ISO8859(3) を指定
WS_EN_ISO8859_4 ISO8859(4) を指定
WS_EN_ISO8859_5 ISO8859(5) を指定
WS_EN_ISO8859_6 ISO8859(6) を指定
WS_EN_ISO8859_7 ISO8859(7) を指定
WS_EN_ISO8859_8 ISO8859(8) を指定
WS_EN_ISO8859_9 ISO8859(9) を指定
WS_EN_ISO8859_10 ISO8859(10) を指定
WS_EN_ISO8859_11 ISO8859(11) を指定
WS_EN_ISO8859_12 ISO8859(12) を指定
WS_EN_ISO8859_13 ISO8859(13) を指定
WS_EN_ISO8859_14 ISO8859(14) を指定
WS_EN_ISO8859_15 ISO8859(15) を指定
WS_EN_UTF8 UTF8 を指定
WS_EN_KOI8R KOI8R を指定
WS_EN_EUCJP EUCJP を指定
WS_EN_SJIS SJIS を指定
WS_EN_EUCKR EUCKR を指定
WS_EN_EUCCN EUCCN を指定
WS_EN_BIG5 BIG5 を指定
返値
なし。
注意
サンプル
void sample_proc(WSCbase* object){
  WSCvariant value;
  value = ... // 設定したい値を格納します。

  //エンコーディングを省略した場合
  object->setData(value);
  //エンコーディングを指定した場合
  object->setData(value,WS_EN_SJIS);
}



setVariantData 関数の説明

書式
void setVariantData(char* vname,WSCvariant)
機能
値に名称を付けてインスタンスへ保持する関数です。 値にユニークな名称を指定することで、インスタンス内部に 記憶させることができます。記憶させた値は、 getVariantData 関数を使って指定した名称で取り出します。 状態を記憶させたり、イベントプロシージャ間でデータの 受渡しをするのに便利です。
処理
引数
(in)char* vname 記憶させたい値につける名称
(in)WSCvariant 記憶させたい値
返値
なし。
注意
データは WSCvariant 型で保持されているため、 いろいろな型を指定することが出来ますが、 char* 以外のポインタは、領域は確保されません。
サンプル
void sample_proc(WSCbase* object){
  //long 型の値を data1 の名称で記憶させます。
  long  val =1;
  object->setVariantData("data1",val);
  //char* 型の値を data2 の名称で記憶させます。
  char* str = "test";
  object->setVariantData("data2",str);
}
void sample_proc2(WSCbase* object){
  //data1 の名称で記憶させた値を取得します。
  long  val = object->getVariantData("data1");

  //data2 の名称で記憶させた char* は、WSCstring で受け取ります。
  WSCstring str;
  str = object->getVariantData("data2");

}



getVariantData 関数の説明

書式
WSCvariant &setVariantData(char* vname)
機能
setVariantData 関数によって保持された値を取得する関数です。
処理
引数
(in)char* vname 取得したい値の名称
返値
WSCvariant&
注意
取得される値は WSCvariant 型なので、いろいろな型に 代入することが出来ますが、 char* 以外は、領域は確保されません。 また、char* ポインタで値を取得したい場合は、 一旦 WSCstring クラス、または、 WSCvariant 型に代入してから、(char*) にキャストしてください。
サンプル
setVariantData()を参照してください。



onFocusChange 関数の説明

書式
void onFocusChange(WSCbool fl)
機能
インスタンスのフォーカスの状態が変化したとき、 この関数が実行されます。 派生クラスでは、トリガ(WSEV_FOCUS_CH)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、フォーカスに関する イベント処理を行うことができます。
処理
引数
(in)WSCbool fl 新たなフォーカスの状態
返値
なし。
注意
オーバーライドして使用してください。
サンプル
void new_class::onFocusChange(WSCbool fl){
  //フォーカスの状態が変化した場合に必要な処理を記述します。
  if (fl == False){
    //フォーカスを失った。
  }else{
    //フォーカスを獲得した。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onFocusChange(fl);
}



onSpecialFocusChange 関数の説明

書式
void onSpecialFocusChange(WSCbool fl)
機能
インスタンスのリターンキー特別フォーカスの状態が変化したとき、 この関数が実行されます。 派生クラスでは、この関数をオーバーライドすることで、 リターンキー特別フォーカスに関する イベント処理を行うことができます。
処理
引数
(in)WSCbool fl 新たなフォーカスの状態
返値
なし。
注意
オーバーライドして使用してください。
サンプル
void new_class::onSpecialFocusChange(WSCbool fl){
  //リターンキー特別フォーカスの状態が変化した場合に必要な処理を記述します。
  if (fl == False){
    //フォーカスを失った。
  }else{
    //フォーカスを獲得した。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onSpecialFocusChange(fl);
}



onSelectionChange 関数の説明

書式
void onSelectionChange(WSCbool fl)
機能
選択されているデータの状態が変化したとき、 この関数が実行されます。 派生クラスでは、この関数をオーバーライドすることで、 セレクションに関するイベント処理を行うことができます。 セレクションとは、マウスで選択された文字列などのデータで カットアンドペーストされるデータのことを指します。 False が渡される場合は、セレクションを失い、 True が渡される場合は、セレクションを 獲得したことを意味します。
処理
引数
(in)WSCbool fl セレクションの獲得状態
返値
なし。
注意
オーバーライドして使用してください。
サンプル
void new_class::onSelectionChagen(WSCbool fl){
  //セレクションの状態が変化した場合に必要な処理を記述します。
  if (fl == False){
    //セレクションを失った。
  }else{
    //セレクションを獲得した。
  }
  //処理を派生元クラスに引き継ぎます。
  old_class::onSelectionChange(fl);
}



setInternalObject 関数の説明

書式
void setInternalObject(WSCbool fl)
機能
内部インスタンス属性フラグを設定する関数です。
処理
内部インスタンス属性を True に設定すると、 win ファイルへの出力や、 アプリケーションビルダでの編集が行えなくなります。
引数
(in)WSCbool fl 内部インスタンス指定
返値
なし。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
   WSCbase* inst = new  WSCdialog(object,"newwin000");
   inst->initialize();
   inst->setInternalObject(True);
   inst->setProperty(WSNname,"newwin000");
   inst->setProperty(WSNtitleString,"title1");
   inst->setProperty(WSNvis,(WSCbool)1);
   return inst;
}



getInternalObject 関数の説明

書式
WSCbool getInternalObject()
機能
内部インスタンス属性を取得する関数です。
処理
内部インスタンス属性フラグの状態を返します。
引数
なし。
返値
内部インスタンス属性
注意
サンプル
void sample_proc(WSCbase* object){
  WSClistData children = object->getChildren();
  long i;
  long num = children.getNum();
  for(i=0; i< num; i++){
    WSCbase* child = (WSCbase*)children[i];
    WSCbool fl = inst->getInternalObject();
    if (fl != False){
      //内部インスタンスである。
    }else{
      //通常のインスタンスである。
    }
  }
}



setScaleOffsetPtr 関数の説明

書式
void setScaleOffsetPtr(double* ptr)
機能
表示倍率を格納した変数へのポインタを指定する関数です。 表示倍率が設定されると、インスタンスの描画時にその倍率で 表示します。倍率を直接指定するのではない点に 注意してください。 ポインタの設定を解除したい場合は、 NULL を指定します。
処理
複数のインスタンスに同じポインタを設定し、そのポインタの 内容を変更することで、 一度に表示倍率を変更することができます。
引数
(in)double* ptr 倍率を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
double scale;
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを設定します。
  object->setScaleOffsetPtr(&scale);
}



setXOffsetPtr 関数の説明

書式
void setXOffset(short* ptr)
機能
表示位置(X座標)のオフセットを格納した変数へのポインタを 指定する関数です。表示位置(X座標)のオフセットが設定されると、 オフセット値を加算した座標でインスタンスの描画が行われます。 ポインタの設定を解除したい場合は、NULL を指定します。
処理
複数のインスタンスに同じポインタを設定し、そのポインタの 内容を変更することで、 一度に表示位置を変更することができます。
引数
(in)short* ptr オフセット値を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
short offsetx;
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを設定します。
  object->setXOffsetPtr(&offsetx);
}



setYOffsetPtr 関数の説明

書式
void setYOffset(short* ptr)
機能
表示位置(Y座標)のオフセットを格納した変数へのポインタを指定する 関数です。表示位置(Y座標)のオフセットが設定されると、 オフセット値を加算した座標でインスタンスの描画が行われます。 ポインタの設定を解除したい場合は、NULL を指定します。
処理
複数のインスタンスに同じポインタを設定することで、 一度に表示位置を変更することができます。
引数
(in)short* ptr オフセット値を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
short offsety;
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを設定します。
  object->setXOffsetPtr(&offsety);
}



getScaleOffsetPtr 関数の説明

書式
double* getScaleOffset()
機能
表示倍率を格納した変数へのポインタを取得する関数です。 設定されていない場合には、NULL が返されます。
処理
引数
なし。
返値
表示倍率を格納した変数へのポインタ
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを取得します。
  double* ptr = object->getScaleOffsetPtr();
}



getXOffsetPtr 関数の説明

書式
short* getXOffset()
機能
表示位置(X座標)のオフセットを格納した変数へのポインタを取得する 関数です。設定されていない場合、NULL が返されます。
処理
引数
なし。
返値
表示位置(X座標)のオフセットを格納した変数へのポインタ
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを取得します。
  short* ptr = object->getXOffsetPtr();
}



getYOffsetPtr 関数の説明

書式
short* getYOffset()
機能
表示位置(Y座標)のオフセットを格納した変数へのポインタを取得する 関数です。設定されていない場合、NULL が返されます。
処理
引数
なし。
返値
表示位置(Y座標)のオフセットを格納した変数へのポインタ
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを取得します。
  short* ptr = object->getYOffsetPtr();
}



isDefaultValue 関数の説明

書式
long isDefaultValue(char* pname,WSCbool* fl)
機能
プロパティがデフォルト値であるか否かを調べる関数です。 そのインスタンスに指定するプロパティが存在する場合は、 第二引数にデフォルト値であったかどうかを設定します。 もし存在しないプロパティを指定した場合は、 WS_ERR が返されます。
処理
指定されたプロパティがデフォルト値であるか否かを パラメータ fl に格納して返します。
引数
(in)char* pname プロパティ名
(out)WSCbool* fl 結果を取得する変数へのポインタ
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //WSNlabelString プロパティがデフォルト値かどうか調べます。
  WSCbool fl;
  long ret = object->isDefaultValue(WSNlabelString,&fl);
}



setDefaultValue 関数の説明

書式
WSCbool setDefaultValue(char* pname)
機能
指定されたプロパティにデフォルト値を設定する関数です。 この関数を呼び出すと、対象のプロパティに デフォルト値が設定されます。
処理
引数
(in)char* pname プロパティ名
返値
True= 正常、False=エラー。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //WSNlabelString プロパティをデフォルト値にします。
  object->setDefaultValue(WSNlabelString);
}



existProperty 関数の説明

書式
WSCbool existProperty(char* pname)
機能
指定されたプロパティが存在するか否かを調べる関数です。
処理
引数
(in)char* pname プロパティ名
返値
True= 存在、False=存在せず。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //WSNlabelString プロパティが存在するかどうか調べます。
  WSCbool exist = object->existProperty(WSNlabelString);
  if (exist != False){
    //存在する。
  }else{
    //存在しない。
  }
}



getChildInstance 関数の説明

書式
WSCbase* getChildInstance(char* iname)
機能
指定された名称の子インスタンスへのポインタを取得する関数です。
処理
引数
(in)char* iname 子インスタンス名
返値
子インスタンス
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //newvlab_001 の名称を持つ子インスタンスを取得
  WSCbase* child = object->getChildInstance("newvlab_001");
  if (child != NULL){
    //取得された。
  }
}



getFocusMoveInstance 関数の説明

書式
WSCbase* getFocusMoveInstance(long direction)
機能
指定された方向へのフォーカス移動対象インスタンスを取得する 関数です。引数にはWS_UP、WS_DOWN、WS_RIGHT、WS_LEFT、 WS_RET のシンボルを指定し、それぞれ↑、↓、→、←、Enter キー、TAB キーを 押した際にフォーカスが移動するインスタンスの名称を返します。
処理
引数
(in)long direction 方向

方向には次のような値が指定できます。
意味
WS_UP 上方向
WS_DOWN 下方向
WS_RIGHT 右方向
WS_LEFT 左方向
WS_RET リターンキーによる移動方向
WS_TAB タブキーによる移動方向
WS_STAB シフトキー+タブキーによる移動方向
返値
フォーカス移動先インスタンス
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //フォーカス移動可能な右側に存在するインスタンスを取得
  WSCbase* inst = object->getFocusMoveInstance(WS_RIGHT);
  if (inst != NULL){
    //取得された。
  }
}



needUpdate 関数の説明

書式
void needUpdate()
機能
更新フラグをセットし、イベントプロシージャ終了時に 表示の更新が行われるようにするための関数です。 実際の表示更新は update 関数や WSGIappObjectList の exeUpdate 関数呼び出しによって行われます。
処理
引数
なし。
返値
なし。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //更新フラグをたて、プロシージャ終了後に update() が実行されるようにします。
  object->needUpdate();
}



isNeedUpdate 関数の説明

書式
WSCbool isNeedUpdate()
機能
更新フラグの状態を取得する関数です。 この関数の返り値が True の場合は、プロパティが 更新されたり needUpdate 関数が実行されており、 これから表示更新されることを示します。
処理
プロパティが変更されたり、needUpdate() が実行されると、 更新フラグが True になります。
引数
なし。
返値
True = これから更新される、False = 更新されない。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //更新フラグがたっているか否かを調べます。
  WSCbool* fl = object->isNeedUpdate();
  if (fl == False){
    //更新フラグはたっていない。
  }else{
    //更新フラグはたっていない。
  }
}



isParent 関数の説明

書式
WSCbool isParent(WSCbase* instance)
機能
指定されたインスタンスが自分の親インスタンスであるかを 調べる関数です。
処理
引数
(in)WSCbase* instance インスタンス
返値
True = 親インスタンスである、False = 親インスタンスでない。
注意
なし。
サンプル
extern WSCmainWindow* newwin000;
void sample_proc(WSCbase* object){
  //ウィンドウ newwin000 が親インスタンスかどうか調べます。
  WSCbool fl = object->isParent(newwin000);
  if (fl == False){
    //親インスタンスでない。
  }else{
    //親インスタンスである。
  }
}



existTrigger 関数の説明

書式
WSCbool existTrigger(long trigger)
機能
指定されたトリガが、そのインスタンスで使用可能な トリガであるかを取得する関数です。
処理
引数
(in)long trigger トリガ−
返値
True = 使用可能である、False = 使用可能ではない。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //トリガが使用可能かどうか調べます。
  WSCbool fl = object->existTrigger(WSEV_ACTIVATE);
  if (fl != False){
    //使用可能。
  }
}



getMouseAddr 関数の説明

書式
WSCbool getMouseAddr(short* x,short* y)
機能
インスタンスの座標系でのマウスポインタの座標を取得する関数です。
処理
引数
(out)short* x X座標を格納する変数へのポインタ
(out)short* y Y座標を格納する変数へのポインタ
返値
True = 取得可能、False = 取得可能ではない。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  short px,py;
  object->getMouseAddr(&x,&y);
}



addProcedure 関数の説明

書式
long addProcedure(WSCprocedure* ep)
機能
インスタンスにイベントプロシージャを追加する関数です。 追加されたイベントプロシージャはインスタンスにおいて 発生するイベントの他に、 execProcedure 関数でも実行することができます。
処理
引数
(in)WSCprocedure* ep イベントプロシージャインスタンス
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
インスタンス削除時に、追加されたWSCprocedureインスタンスも 同時に削除されます。同じWSCprocedure インスタンスを 異なるインスタンスに対して addProcedure しないよう ご注意ください。
サンプル
//新たに張り付けるイベントプロシージャ用関数
void procedure1(WSCbase*){
  //処理
}
//イベントプロシージャ本体
void sample_proc(WSCbase* object){
  //procedure1 関数をプロシージャ名 procedure1、
  //トリガ WSEV_ACTIVATE で張り付けます。
  //WSEV_ACTIVATE が発生すると、procedure1 が起動されるようになります。
  WSCprocedure* ep = new WSCprocedure("procedure1",WSEV_ACTIVATE);
  ep->setFunction(procedure1,"procedure1");
  object->addProcedure(ep);
}



delProcedure 関数の説明

書式
long delProcedure(WSCprocedure* ep)
機能
インスタンスに登録されているイベントプロシージャを 解除する関数です。この関数を実行した後は、 解除されたイベントプロシージャは実行されなくなります。
処理
addProcedure()関数で登録されたイベントプロシージャの 登録を解除します。
引数
(in)WSCprocedure* ep イベントプロシージャインスタンス
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
なし。
サンプル
void sample_proc(WSCbase* object){
  //張り付けられているイベントプロシージャを削除します。
  WSClistData procedures = object->getProcedures();
  long i;
  long num = procedures.getNum();
  for(i=0; i<num; i++){
    WSCprocedure* ep = (WSCprocedure*)procedures[i];
    object->delProcedure(ep);
    delete ep;
  }
}



getProcedures 関数の説明

書式
WSClistData getProcedures()
機能
インスタンスに登録されている全てのイベントプロシージャを 含むリストを取得する関数です。
処理
addProcedure()関数で登録されたイベントプロシージャの リストを返します。
引数
なし。
返値
WSCprocedure* のリスト
注意
なし。
サンプル
delProcedure() クラスのサンプルを参照してください。



getdev 関数の説明

書式
WSDdev* getdev()
機能
そのインスタンスで使用されているデバイスクラスのインスタンスを 取得する関数です。 デバイスクラスのインスタンスは、インスタンスの描画やイベントの ハンドリングに使用されます。インスタンス生成後一度も 表示されていないとデバイスクラスのインスタンスが 作成されていないことがあり、その場合は NULL が返されます。
処理
引数
なし。
返値
デバイスクラスのインスタンス
注意
インスタンス生成後、一度も表示されていない場合、 デバイスクラスのインスタンスが作成されていない場合があります。 作成されていない場合、NULL が返されます。
サンプル
WSDdev クラスのサンプルを参照してください。



getPropertyInheritChild 関数の説明

書式
WSCbase* getPropertyInheritChild()
機能
アプリケーションウィンドウ派生または複合派生によって クラスウィンドウを作成するとき、子インスタンスのプロパティを 親インスタンスにマージするために使います。 単にクラスウィンドウを作成した状態の新しいクラスでは、 派生元インスタンスのプロパティしか 利用できませんが、 この関数をオーバーライドして子インスタンスを返すようにすると、 新しいクラスのプロパティとして、派生元インスタンスの プロパティとその子インスタンスのプロパティが使えるようになります。
処理
クラス派生において、 この関数をオーバーライドし、プロパティをマージしたい メンバであるメンバインスタンスを返すようにすることで、 クラス本体のインスタンスにそのメンバインスタンスのプロパティを クラス本体に追加することができます。
引数
なし。
返値
派生したクラスが保持するメンバインスタンス
注意
サンプル
WSCbase* new_class::getPropertyInheritChild(){
  //メンバインスタンスのプロパティをクラス本体のプロパティとして
  //公開したい場合、この関数をオーバーライドし、
  //そのインスタンスを返すようにします。
  return member1; 
}


Document Release 3.90

For Use with WideStudio/MWT Release 3.90, Summer 2005


WideStudio/MWT Home | Up to

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: June 25, 2005