 | | Wide Studio Object Reference
| |
クラスの型
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= 初期化済み、False=未初期化。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
if (object->getInitialized() != False){
//object は initialize() を呼び出され、初期化されています。
}else{
//object is not initialized..
}
}
getInstanceName 関数の説明
- 書式
- char* getInstanceName()
- 機能
- オブジェクトの名称を取得します。
- 処理
-
- 引数
- なし。
- 返値
- オブジェクトの名称
- 注意
- 返値された値を開放してはいけません。また、
取得された値は、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*)
- 機能
- オブジェクトの名称を設定します。
- 処理
-
- 引数
-
- 返値
- なし。
- 注意
-
- サンプル
- 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)
- 機能
- 抽象化されてしまったポインタを具体化するための
逆キャストの機能を提供します。
C++ 言語では、
通常、ダイナミックキャスト機能をサポートしていない
コンパイラの場合、
ポインタを一度、サブクラスに
キャストしてしまうと、元のクラスのポインタに
戻せませんが、それを可能にします。
- 処理
-
- 引数
-
(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 &)
- 機能
- 指定されたプロパティに値を設定します。
- 処理
- 与えられたプロパティ名称でプロパティを検索し、
見付かったプロパティに値を設定します。
- 引数
-
(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型で、プロパティの値が返されます。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)
- 機能
- 表示属性を指定します。
- 処理
-
- 引数
-
(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()
- 機能
- 表示属性を取得します。
- 処理
- 親を含めて、現在表示状態にあるかどうかを取得します。
- 引数
- なし。
- 返値
- 現在の表示状態を返値します。
- 注意
- WSNvis プロパティとはかならずしも一致しません。
- サンプル
- setVisible() を参照してください。
setSensitive 関数の説明
- 書式
- void setSensitive(WSCbool fl)
- 機能
- 操作属性を指定します。
- 処理
-
- 引数
-
(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()
- 機能
- 選択属性を取得します。
- 処理
- 親を含めて、現在選択可能状態にあるかどうかを取得します。
- 引数
- なし。
- 返値
- 現在の選択属性の状態を返値します。
- 注意
- WSNdet プロパティとはかならずしも一致しません。
- サンプル
- setSensitive() を参照してください。
draw 関数の説明
- 書式
- long draw()
- 機能
- 描画を行います。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- 一度描画されて、再度描画する必要が無い場合、
当関数は、描画を実行しません。強制的に描画させたい場合は、
メンバ関数 setAbsoluteDraw(True) を実行してください。
- サンプル
-
void sample_proc(WSCbase* object){
//描画の必要がある場合にのみ描画する場合。
object->draw();
//強制描画を行う場合。
object->setAbsoluteDraw(True);
object->draw();
//EXPOSE イベントを発生させて、再描画を行う場合。
object->redraw();
}
redraw 関数の説明
- 書式
- long redraw()
- 機能
- 一度クリアして描画を行います。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- draw()を参照してください。
update 関数の説明
- 書式
- long update()
- 機能
- 必要なら更新処理を行い、再描画を行います。
- 処理
- プロパティ等が変化し、再描画が必要な場合、
描画を行います。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 が指定されるとフォーカスを失います。
- 引数
-
(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 が指定されるとスペシャルフォーカスを失います。
- 引数
-
(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() は、その子のまた子まで、全てをたどります。
- 引数
-
(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)
- 機能
- インスタンスが露出し、描画が必要な場合に
実行されます。
- 処理
- アプリケーションは、トリガ(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)
- 機能
- データソース指定をサポートするオブジェクトクラスで、
データを設定するのに利用します。
- 処理
- データソースとして定義されているプロパティにバリアント型で
データを指定します。
- 引数
-
(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 関数により
指定した名称で取り出します。
状態を記憶させたり、イベントプロシージャ間でデータの
受渡しをするのに便利です。
- 引数
-
(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 関数により、
いろいろな名称を指定することで、個別に値を記憶させることが
できます。記憶させた値は、この 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)
- 機能
- オブジェクトのスペシャルフォーカスの状態が
変化した場合に実行されます。
- 処理
- アプリケーションは、
この関数をオーバーライドすることで、
スペシャルフォーカスに関する
イベント処理を行うことができます。
- 引数
-
(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)
- 機能
- 表示倍率を格納した変数へのポインタを指定します。
- 処理
- 表示倍率を格納した変数へのポインタが設定されると、
その倍率で描画します。
複数のインスタンスに同じポインタを設定することで、
一度に表示倍率を変更することができます。
- 引数
-
(in)double* ptr | 倍率を格納した変数へのポインタ |
- 返値
- なし。
- 注意
- ポインタの設定を解除したい場合は、NULLを指定します。
- サンプル
-
double scale;
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを設定します。
object->setScaleOffsetPtr(&scale);
}
setXOffsetPtr 関数の説明
- 書式
- void setXOffset(short* ptr)
- 機能
- 表示位置Xのオフセットを格納した変数へのポインタを指定します。
- 処理
- 表示位置Xのオフセットを格納した変数へのポインタが
設定されると、
オフセット値を加算した座標で描画します。
複数のインスタンスに同じポインタを設定することで、
一度に表示位置を変更することができます。
- 引数
-
(in)short* ptr | オフセット値を格納した変数へのポインタ |
- 返値
- なし。
- 注意
- ポインタの設定を解除したい場合は、NULLを指定します。
- サンプル
-
short offsetx;
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを設定します。
object->setXOffsetPtr(&offsetx);
}
setYOffsetPtr 関数の説明
- 書式
- void setYOffset(short* ptr)
- 機能
- 表示位置Yのオフセットを格納した変数へのポインタを指定します。
- 処理
- 表示位置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のオフセットを格納した変数へのポインタを取得します。
- 処理
- 表示位置Xのオフセットを格納した変数へのポインタを取得します。
設定されていない場合、NULL が返されます。
- 引数
- なし。
- 返値
- 表示位置Xのオフセットを格納した変数へのポインタ
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを取得します。
short* ptr = object->getXOffsetPtr();
}
getYOffsetPtr 関数の説明
- 書式
- short* getYOffset()
- 機能
- 表示位置Yのオフセットを格納した変数へのポインタを取得します。
- 処理
- 表示位置Yのオフセットを格納した変数へのポインタを取得します。
設定されていない場合、NULL が返されます。
- 引数
- なし。
- 返値
- 表示位置Yのオフセットを格納した変数へのポインタ
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを取得します。
short* ptr = object->getYOffsetPtr();
}
isDefaultValue 関数の説明
- 書式
- long isDefaultValue(char* pname,WSCbool* fl)
- 機能
- プロパティがデフォルト値であるか否かを調べます。
- 処理
- 指定されたプロパティがデフォルト値であるか否かを
パラメータ 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)
- 機能
- 指定されたプロパティにデフォルト値を設定します。
- 処理
- 指定されたプロパティにデフォルト値を設定します。
- 引数
-
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//WSNlabelString プロパティをデフォルト値にします。
object->setDefaultValue(WSNlabelString);
}
existProperty 関数の説明
- 書式
- WSCbool existProperty(char* pname)
- 機能
- 指定されたプロパティの存在を調べます。
- 処理
- 指定されたプロパティが存在するか否かを返します。
- 引数
-
- 返値
- True= 存在、False=存在せず。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//WSNlabelString プロパティが存在するかどうか調べます。
WSCbool exist = object->existProperty(WSNlabelString);
if (exist != False){
//存在する。
}else{
//存在しない。
}
}
getChildInstance 関数の説明
- 書式
- WSCbase* getChildInstance(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 | リターンキーによる移動方向 |
- 返値
- フォーカス移動先インスタンス
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//フォーカス移動可能な右側に存在するインスタンスを取得
WSCbase* inst = object->getFocusMoveInstance(WS_RIGHT);
if (inst != NULL){
//取得された。
}
}
needUpdate 関数の説明
- 書式
- void needUpdate()
- 機能
- 更新を行うことを指定します。
- 処理
- 更新フラグたてて、イベントプロシージャ終了時に
表示更新されるようにします。
実際の表示更新は、update() 関数で行われます。
WSGIappObjectList()->execUpdate() によっても
表示更新されます。
- 引数
- なし。
- 返値
- なし。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//更新フラグをたて、プロシージャ終了後に update() が実行されるようにします。
object->needUpdate();
}
isNeedUpdate 関数の説明
- 書式
- WSCbool isNeedUpdate()
- 機能
- 更新フラグの状態を取得します。
- 処理
- プロパティが変更されたり、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)
- 機能
- 指定されたトリガーが使用可能か否かを取得します。
- 処理
-
- 引数
-
- 返値
- 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)
- 機能
- イベントプロシージャを追加します。
- 処理
-
- 引数
-
(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 が返されます。
- サンプル
- 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 |
|