 | | 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 が返されるので、該当のオブジェクトが使用可能な
状態であることを判定できます。
- 処理
- オブジェクトが正しく初期化されているかどうかを、
取得します。
- 引数
- なし。
- 返値
- 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*)
- 機能
- インスタンスに対して、引数で渡される
新しい名称を設定する関数です。
- 処理
-
- 引数
-
- 返値
- なし。
- 注意
-
- サンプル
- 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* 型へキャストして使用しなければなりません。
- 処理
- 与えられたプロパティ名称でプロパティを検索し、
見付かったプロパティの値を返値します。
- 引数
-
- 返値
- 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 での
デフォルト値が設定されます。
- 処理
- 指定されたプロパティにデフォルト値を設定します。
- 引数
-
- 返値
- 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 のシンボルを指定し、それぞれ↑、↓、→、←、Enter キーを
押した際にフォーカスが移動するインスタンスの名称を返します。
- 処理
-
- 引数
-
方向には次のような値が指定できます。
値 | 意味 |
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)
- 機能
- 指定されたトリガが、そのインスタンスで使用可能な
トリガであるかをテストする関数です。
- 処理
-
- 引数
-
- 返値
- 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 |
|