Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSCbase

メソッド関数仕様



initialize 関数の説明

書式
long initialize()
機能
オブジェクトの初期化を行います。 オブジェクトを生成した直後にこの関数を呼び出して、 オブジェクトの初期化を行わなければなりません。 また、同じオブジェクトに対して複数回初期化を 実行することは許されません。
処理
オブジェクトを生成した直後に、この関数を呼び出して、 一度だけ オブジェクトを初期化します。
引数
なし。
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
オブジェクトの生成後、この関数を一度だけ呼び出して オブジェクトを初期化します。複数回実行してはいけません。
サンプル
WSCbase* create_proc(WSCbase* parent){
   WSCbase* inst = new  WSCdialog(parent,"newwin000");
   inst->initialize();
   inst->setPropertyV(WSNname,"newwin000");
   inst->setPropertyV(WSNtitleString,"title1");
   inst->setPropertyV(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*)
機能
インスタンスに対して、引数で渡される 新しい名称を設定する関数です。
処理
引数
(in)char* pname インスタンス名称
返値
なし。
注意
サンプル
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)
機能
抽象化されているポインタを具体化するために、 逆キャストの機能を提供する関数です。 WideStudio では、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(char* pname,const WSCvariant &)
機能
指定されたプロパティに値を設定する関数です。 第一引数に与えられたプロパティ名称でプロパティを検索し、 見つかったプロパティに第二引数に表示される値を設定します。 プロパティ名称に無効な名称を与えた場合は、 検索に失敗して 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 型で取得して、 char* 型へキャストして使用しなければなりません。
処理
与えられたプロパティ名称でプロパティを検索し、 見付かったプロパティの値を返値します。
引数
(in)char* pname プロパティ名称
返値
WSCvariant型で、プロパティの値が返されます。WSCvariant 型から キャストされる型ならば、なんでも可です。 文字列ので値の取得の場合、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 を返すので、そのオブジェクトの WSNdet プロパティの値と必ずしも一致するとは限らない点に 注意しましょう。
処理
親を含めて、現在選択可能状態にあるかどうかを取得します。
引数
なし。
返値
現在の選択属性の状態を返値します。
注意
WSNdet プロパティとはかならずしも一致しません。
サンプル
setSensitive() を参照してください。



draw 関数の説明

書式
long draw()
機能
オブジェクトが描画する関数です。描画する必要がない場合は、 当関数を呼び出しても描画は実行されません。 強制的な描画が必要な場合は、 setAbseluteDraw(True) を 実行してから当関数を呼び出します。
処理
引数
なし。
返値
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 関数の説明

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



getChildren 関数の説明

書式
WSClistData & getChildren()
機能
子のリストを取得します。子を管理する機能があるクラスで 機能します。
処理
引数
なし。
返値
子のリスト
注意
子オブジェクトのアクセスの方法は、次のように行います。 parent は、WSCform クラス、WSCwindow クラスなどの、 子の管理機能を持つオブジェクトで getChildren() 関数が 機能するものを指します。
サンプル
  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 値ページ減トリガ
(in)char* pname イベントプロシージャ名称
返値
なし。
注意
該当するイベントプロシージャが無い場合は、何も実行しません。
サンプル
void sample_proc(WSCbase* object){
  object->execProcedure("イベントプロシージャ名称");
}



setFocus 関数の説明

書式
long setFocus(WSCbool fl = True)
機能
オブジェクトのフォーカスを設定する関数です。 引数に True が指定されるとフォーカスされた状態になり、 False が指定されるとフォーカスを失います。 フォーカスの状態変化により、WSEV_FOCUS_CH トリガが 発生し、onFocusChange 関数が起動される。 引数を省略した場合は、True を指定したとみなされます。
処理
True が指定されると、フォーカスを設定し、 False が指定されるとフォーカスを失います。
引数
(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)
機能
キーボード特別フォーカスであるスペシャルフォーカスを 設定する関数です。通常のフォーカス移動とは異なり、 この関数ではキーボードフォーカスを移動させます。 フォーカスの状態変化によって WSEV_FOCUS_CH トリガが 発生し、onSpecialFocusChange 関数が起動されます。 引数を省略した場合は、True を指定したとみなされます。
処理
True が指定されると、スペシャルフォーカスを設定し、 False が指定されるとスペシャルフォーカスを失います。
引数
(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{
    //フォーカスがあたっている。
  }
}



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 を返します。
処理
同上。
引数
なし。
返値
親インスタンスを返します。
注意
親インスタンスがないアプリケーションウィンドウなどの場合は、 NULL を返します。
サンプル
void sample_proc(WSCbase* object){
  WSCbase* parent = object->getParent();
}



onMouseIn 関数の説明

書式
virtual void onMouseIn(WSCpoint* pt)
機能
マウスポインタがインスタンス内に移動して来たとき、 この関数が実行されます。派生クラスでは、 トリガ(WSEV_MOUSE_IN)によるイベントプロシージャを用いる 代わりに、この関数をオーバーライドすることでも、 マウスポインタに関するイベント処理を行うことができます。
処理
アプリケーションは、トリガ(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)による イベントプロシージャを用いる代わりに、 この関数をオーバーライドすることでも、露出に関する イベント処理を行うことができます。
引数
(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_VISIBLE_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 code = WS_EN_DEFAULT)
機能
データソース指定をサポートするオブジェクトで、 データソースを設定する関数です。データソースとして定義されている プロパティにバリアント(WSCvariant)型でデータを指定します。 文字列の場合はエンコード属性値を指定できます。 エンコード属性値を省略すると、WS_EN_DEFAULT とみなされます。
処理
データソースとして定義されているプロパティにバリアント型で データを指定します。
引数
(in)WSCvariant* data オブジェクトに設定したいデータ
(in)long code 文字列型を指定した場合のコードの指定

コードには次のような値が指定できます。省略すると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 関数を使って指定した名称で取り出します。 状態を記憶させたり、イベントプロシージャ間でデータの 受渡しをするのに便利です。 データは WSCvariant 型で保持されているので、 いろいろな型の値をとることができますが、char* 型以外の ポインタによる領域は確保されません。
処理
いろいろな名称を指定することで、個別に値を記憶させることが できます。記憶させた値は、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 関数によって保持された値を所得する関数です。 取得される値は WSCvariant 型なので、いろいろな型に代入することが できますが、char* 型以外の領域は確保されません。 また、char* 型で値を取得した場合は、いったん WSCstring クラス または WSCvariant クラスに代入してから char* 型にキャストして 使用します。
処理
setVariantData 関数により、 いろいろな名称を指定することで、個別に値を記憶させることが できます。記憶させた値は、この getVariantData 関数を使用して 指定した名称で取り出します。 状態を記憶させたり、イベントプロシージャ間でデータの 受渡しをするのに便利です。
引数
(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)
機能
オブジェクトのスペシャルフォーカスの状態が変化したとき、 この関数が実行されます。 スペシャルフォーカスは、 通常のフォーカスとは異なるリターンキー特別フォーカスであり、 WSCvbtn、WSCvifield などのクラスで使用することができます。
処理
アプリケーションは、 この関数をオーバーライドすることで、 スペシャルフォーカスに関する イベント処理を行うことができます。
引数
(in)WSCbool fl 新たなフォーカスの状態
返値
なし。
注意
オーバーライドして使用してください。 スペシャルフォーカスは、WSCvbtn、WSCvifield などのクラスで 使用される、通常のフォーカスとは異なる リターンキー特別フォーカスです。
サンプル
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->setPropertyV(WSNname,"newwin000");
   inst->setPropertyV(WSNtitleString,"title1");
   inst->setPropertyV(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 を指定します。
処理
表示位置Xのオフセットを格納した変数へのポインタが 設定されると、 オフセット値を加算した座標で描画します。 複数のインスタンスに同じポインタを設定することで、 一度に表示位置を変更することができます。
引数
(in)short* ptr オフセット値を格納した変数へのポインタ
返値
なし。
注意
ポインタの設定を解除したい場合は、NULLを指定します。
サンプル
short offsetx;
void sample_proc(WSCbase* object){
  //初期化プロシージャ等で、オフセットを設定します。
  object->setXOffsetPtr(&offsetx);
}



setYOffsetPtr 関数の説明

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



getYOffsetPtr 関数の説明

書式
short* getYOffset()
機能
表示位置Yのオフセットを格納した変数へのポインタを取得する 関数です。設定されていない場合、NULL が返されます。
処理
表示位置Yのオフセットを格納した変数へのポインタを取得します。
引数
なし。
返値
表示位置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 関数の説明

書式
long setDefaultValue(char* pname)
機能
指定されたプロパティにデフォルト値を設定する関数です。 この関数を呼び出すと、対象のプロパティに WideStudio での デフォルト値が設定されます。
処理
指定されたプロパティにデフォルト値を設定します。
引数
(in)char* pname プロパティ名
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
なし。
サンプル
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 キーを 押した際にフォーカスが移動するインスタンスの名称を返します。
処理
引数
(in)long direction 方向

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



needUpdate 関数の説明

書式
void needUpdate()
機能
更新フラグをセットし、イベントプロシージャ終了時に 表示の更新が行われるようにするための関数です。 実際の表示更新は update 関数や WSGIappObjectList の exeUpdate 関数呼び出しによって行われます。
処理
更新フラグたてて、イベントプロシージャ終了時に 表示更新されるようにします。 実際の表示更新は、update() 関数で行われます。 WSGIappObjectList()->execUpdate() によっても 表示更新されます。
引数
なし。
返値
なし。
注意
なし。
サンプル
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)
機能
オブジェクトにイベントプロシージャを追加する関数です。 通常のコールバック関数とは異なり、WSCprocedure 型の イベントプロシージャインスタンスに設定された イベントプロシージャ名称でも関数を呼び出すことができます。
処理
引数
(in)WSCprocedure* ep イベントプロシージャインスタンス
返値
WS_NO_ERR= 正常、それ以外はエラー。
注意
なし。
サンプル
//新たに張り付けるイベントプロシージャ用関数
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->delProcedures(ep);
  }
}



getdev 関数の説明

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



getPropertyInheritChild 関数の説明

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


Document Release 3.20

For Use with Wide Studio Release 3.20, Winter 2002


WideStudio Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: Nov. 28, 2002