 | | WideStudio/MWT Class Reference
| |
クラスの型
WSCbase
メソッド関数仕様
getNewInstance 関数の説明
- 書式
- WSCbase* WSCbase::getNewInstance(char* class_name,WSCbase* parent,char* name)
- 機能
- インスタンスを取得します。
- 処理
- 指定されたクラス名のインスタンスを生成します。
- 引数
-
(in)char* class_name | クラス名 |
(in)WSCbase* parent | 親インスタンス |
(in)char* name | インスタンス名 |
- 返値
- WSCbase 型ポインタ = 正常、NULL = エラー。
- 注意
- インスタンスの生成後、この関数を一度だけ呼び出して初期化します。
指定されたクラスが、アプリケーションにリンクしているライブラリ中に
存在しない場合、インスタンスの生成に失敗し、NULL を返す場合があります。
- サンプル
-
WSCbase* create_proc(WSCbase* parent){
WSCbase* inst = WSCbase::getNewInstance("WSCdialog",parent,"newwin000");
inst->initialize();
inst->setProperty(WSNtitleString,"title1");
inst->setProperty(WSNvis,(WSCbool)1);
return inst;
}
initialize 関数の説明
- 書式
- long initialize()
- 機能
- インスタンスの初期化を行います。
インスタンスを生成した直後にこの関数を呼び出して、
初期化を行わなければなりません。
- 処理
- インスタンスを使用可能な状態にします。
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- インスタンスの生成後、この関数を一度だけ呼び出して
初期化します。
同じインスタンスに対して複数回実行してはいけません。
- サンプル
-
WSCbase* create_proc(WSCbase* parent){
WSCbase* inst = new WSCdialog(parent,"newwin000");
inst->initialize();
inst->setProperty(WSNtitleString,"title1");
inst->setProperty(WSNvis,(WSCbool)1);
return inst;
}
getInitialized 関数の説明
- 書式
- WSCbool getInitialized()
- 機能
- インスタンスの初期化状態を取得する関数です。
インスタンスが正しく初期化されている場合、
True が返され、そのインスタンスが使用可能であることを
示します。
- 処理
- インスタンスが正しく初期化されているかどうかを、
取得します。
- 引数
- なし。
- 返値
- True= 初期化済み、False=未初期化。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
if (object->getInitialized() != False){
//object は initialize() を呼び出され、初期化されています。
}else{
//object is not initialized..
}
}
getInstanceName 関数の説明
- 書式
- char* getInstanceName()
- 機能
- インスタンスの名称を取得する関数です。
返された値を解放してはいけません。また、
setInstanceName() 関数が呼び出されると、
元の名称を保持していた文字列へのポインタが
無効化されるので注意が必要です。
- 処理
-
- 引数
- なし。
- 返値
- インスタンスの名称
- 注意
- 返された値を解放してはいけません。また、
取得された値は、setInstanceName() 関数の呼び出しで、
無効となります。
- サンプル
-
void sample_proc(WSCbase* object){
char* iname = object->getInstanceName();
printf("instance name=%s\n",iname);
char* iname2 = object->getInstanceName();
object->setInstanceName("new-name");
//間違い! iname2 は setInstanceName によって、ポインタが無効になっている。
printf("instance name=%s\n",iname2);
//WSCstring にインスタンス名を格納することで、
//setInstaceName() でも値が無効になりません。
WSCstring iname3;
iname3 = object->getInstanceName();
printf("instance name=%s\n",(char*)iname3);
}
setInstanceName 関数の説明
- 書式
- void setInstanceName(char* name)
- 機能
- インスタンスに対して、新しい名称を設定する関数です。
- 処理
-
- 引数
-
- 返値
- なし。
- 注意
-
- サンプル
- getInstanceName() を参照してください。
getClassName 関数の説明
- 書式
- char* getClassName()
- 機能
- インスタンスのクラス名称を取得する関数です。
返された値を解放してはいけません。
- 処理
-
- 引数
- なし。
- 返値
- クラス名称を返します。
- 注意
- 返された値を解放してはいけません。
- サンプル
-
void sample_proc(WSCbase* object){
char* cname = object->getClassName();
printf("class name=%s\n",cname);
}
cast 関数の説明
- 書式
- void* cast(char* class_name)
- 機能
- 抽象化されているポインタを具体化するために、
逆キャストの機能を提供する関数です。
dynamic_cast をサポートしていない
コンパイラ系への対応として、この関数によって逆キャストを
可能にしています。引数には取得したいクラスの名称を
文字列で与えます。キャストに失敗すると NULL が返されます。
- 処理
-
- 引数
-
(in)char* class_name | 取得したいクラスの名称 |
- 返値
- 指定されたクラスのポインタ
- 注意
- インスタンスと関係の無いクラス名称を与えられると NULL が
返されます。
- サンプル
-
void sample_proc(WSCbase* object){
// WSCvlabel* label = (WSCvlabel*)object; //これはコンパイルエラー
WSCvlabel* label = (WSCvlabel*)object->cast("WSCvlabel");
if (label == NULL){
//object が、もともと WSCvlabel クラスとは関係の無いインスタンスの場合、
//NULL が返されます。
}else{
//キャスト成功。
//object が、指定したクラスを継承したものである場合は、正しいポインタが
//返されます。
}
}
setProperty 関数の説明
- 書式
- WSCbool setProperty(const char* pname,const WSCvariant& value)
- 機能
- 指定されたプロパティに値を設定する関数です。
第一引数にプロパティ名称を指定し、
第二引数に設定する値を指定します。
プロパティ名称に無効な存在しないプロパティ名称を与えた場合は、
False が返されます。
第二引数には WSCvariant 型にキャスト可能な変数を渡します。
- 処理
- 与えられたプロパティ名称でプロパティを検索し、
見付かったプロパティに値を設定します。
- 引数
-
(in)char* pname | プロパティ名称 |
(in)WSCvariant& value | プロパティの値 |
- 返値
- プロパティが存在し、正しく設定されると True、
そうでない場合、False が返されます。
- 注意
- 第2引数は、WSCvariant にキャストされる型を指定します。
- サンプル
-
void sample_proc(WSCbase* object){
long val1 = 1;
object->setProperty(WSNlabelString,val1); //long 値による設定
char* val2 = "char* string..";
object->setProperty(WSNlabelString,val2); //文字列による設定
WSCstring val3 = "WSCstring..";
object->setProperty(WSNlabelString,val3); //WSCstring文字列による設定
WSCvariant val4 = 1;
object->setProperty(WSNlabelString,val4); //WSCvariantによる設定
}
getProperty 関数の説明
- 書式
- WSCvariant getProperty(char* pname)
- 機能
- 指定されたプロパティ値を取得する関数です。
指定したプロパティの値を WSCvariant 型で返します。
適切な変数型に変換して使用します。
文字列値を取得する場合は、いったん WSCstring 型
又はWSCvariant 型で取得して、
char* 型へキャストして使用しなければなりません。
- 処理
- 与えられたプロパティ名称でプロパティを検索し、
見付かったプロパティの値を返値します。
- 引数
-
- 返値
- WSCvariant型で、プロパティの値が返されます。
int,long,short,float,double などの整数型、実数型は直接
返り値を受け取ることができますが、
文字列の値の取得の場合、char* ではなく、WSCstring 型で
取得する必要があります。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
long val1 = object->getProperty(WSNlabelString); //long 値による取得
printf("val1=%d\n",val1);
//文字列による取得
WSCstring val2 = object->getProperty(WSNlabelString); //文字列による取得
printf("val2=%s\n",(char*)val2);
//やってはいけません。無効ポインタになります。
// char* val2 = object->getProperty(WSNlabelString);
}
setVisible 関数の説明
- 書式
- void setVisible(WSCbool fl)
- 機能
- 表示属性(WSNvis プロパティ)を設定する関数です。
属性は True (表示)または False (非表示)で指定します。
親が非表示状態の場合は、そのインスタンスの表示属性を
True にしても表示されないので注意が必要です。
- 処理
-
- 引数
-
(in)WSCbool fl | 表示属性 True=表示、False=非表示 |
- 返値
- なし。
- 注意
- 通常のインスタンスにおいて、親が非表示状態である場合、
表示属性を True としても表示されません。
- サンプル
- 表示属性を反転する例です。
void sample_proc(WSCbase* object){
if ( object->getVisible() == False){
object->setVisible(True);
}else{
object->setVisible(False);
}
}
getVisible 関数の説明
- 書式
- WSCbool getVisible()
- 機能
- 表示属性を取得する関数です。親インスタンスが非表示の場合は
False を返すため、そのインスタンスの WSNvis プロパティの値と
必ずしも一致するとは限らないので注意が必要です。
- 処理
- 親を含めて、現在表示状態にあるかどうかを取得します。
- 引数
- なし。
- 返値
- 現在の表示状態を返値します。
- 注意
- WSNvis プロパティとは必ずしも、値は一致するとは限りません。
- サンプル
- setVisible() を参照してください。
setSensitive 関数の説明
- 書式
- void setSensitive(WSCbool fl)
- 機能
- 操作属性(WSNdet プロパティ)を設定する関数です。
属性は True (操作可)または False (操作不可)で指定します。
親インスタンスが操作不可状態の場合は、
操作属性を True にしても、操作不可のままとなります。
この状態でも WSNdet プロパティの値は
True なので注意が必要です。
また、この状態で親インスタンスを操作可能にすると、
その時点で子も操作可能になります。
- 処理
-
- 引数
-
(in)WSCbool fl | 操作属性 True=操作可、False=操作不可 |
- 返値
- なし。
- 注意
- 通常のインスタンスにおいて、親が操作不可状態で操作属性を True
としても操作可能状態とはなりません。
- サンプル
- 選択属性を反転する例です。
void sample_proc(WSCbase* object){
if ( object->getSensitive() == False){
object->setSensitive(True);
}else{
object->setSensitive(False);
}
}
getSensitive 関数の説明
- 書式
- WSCbool getSensitive()
- 機能
- 操作可能かどうかを調べる関数です。操作可能なら True 、
操作不可なら False を返します。
親インスタンスが操作不可状態の場合、False が返されるため、
そのインスタンスの WSNdet プロパティの値と
必ずしも一致するとは限らないので注意が必要です。
- 処理
- 親を含めて、現在選択可能状態にあるかどうかを取得します。
- 引数
- なし。
- 返値
- 現在の選択属性の状態を返値します。
- 注意
- WSNdet プロパティとはかならずしも一致しません。
- サンプル
- setSensitive() を参照してください。
draw 関数の説明
- 書式
- long draw()
- 機能
- インスタンスを描画させる関数です。描画する必要がない場合は、
当関数を呼び出しても描画は実行されません。
強制的な描画が必要な場合は、 setAbseluteDraw(True) を
実行してから draw 関数を呼び出します。
- 処理
-
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- 一度描画されて、再度描画する必要が無い場合、
当関数は、描画を実行しません。強制的に描画させたい場合は、
メンバ関数 setAbsoluteDraw(True) を実行してください。
- サンプル
-
void sample_proc(WSCbase* object){
//描画の必要がある場合にのみ描画する場合。
object->draw();
//強制描画を行う場合。
object->setAbsoluteDraw(True);
object->draw();
//EXPOSE イベントを発生させて、再描画を行う場合。
object->redraw();
}
redraw 関数の説明
- 書式
- long redraw()
- 機能
- インスタンスの描画を一度クリアして描画する関数です。
- 処理
- EXPOSE イベントを発生させ、描画を実行します。
- 引数
- なし。
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
-
- サンプル
- draw()を参照してください。
update 関数の説明
- 書式
- void update()
- 機能
- プロパティ等が変化して再描画が必要な場合に、
内部データの更新処理を行い、再描画を行う関数です。
draw や redraw と異なり、単に再描画を行うだけでなく、
必要であれば内部のデータ更新も伴います。
- 処理
-
- 引数
- なし。
- 返値
- なし。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
//更新処理の必要がある場合にのみ更新する場合。
object->update();
}
getChildren 関数の説明
- 書式
- WSClistData& getChildren()
- 機能
- 子のリストを取得します。子を管理する機能を有するクラスで
機能します。getObjectType 関数により、
子を管理する機能を持つか判定することができます。
- 処理
-
- 引数
- なし。
- 返値
- 子のリスト
- 注意
- WSCform クラス、
WSCwindow クラスなどの、子の管理機能を持つクラスで機能します。
- サンプル
-
WSClistData children = parent->getChildren();
int i;
int num = children.getNum();
for(i=0; i < num; i++){
WSCbase* child = (WSCbase*)children[i];
//child に対して何か処理を行います。
}
execProcedure 関数の説明
- 書式
- void execProcedure(long trigger)
- 機能
- 引数に指定したトリガ属性でイベトプロシージャを実行する
関数です。
該当するイベントプロシージャが登録されていない場合は
無視されます。
クラスによってはトリガの意味が多少異なる場合があります。
各クラスで使用可能なトリガは、そのクラスの解説を
参照してください。
- 処理
-
- 引数
-
指定可能なトリガには、次のようなものがあります。
定義値 | 意味 |
WSEV_INITIALIZE | 初期化トリガ |
WSEV_DELETE | 解放トリガ |
WSEV_ACTIVATE | 活性化トリガ |
WSEV_VALUE_CH | 値変化トリガ |
WSEV_FOCUS_CH | フォーカス変化トリガ |
WSEV_VISIBLE_CH | 表示状態変化トリガ |
WSEV_SENSITIVE_CH | 操作属性変化トリガ |
WSEV_PARENT_VISIBLE_CH | 親表示状態変化トリガ |
WSEV_PARENT_SENSITIVE_CH | 親操作属性変化トリガ |
WSEV_EXPOSE | 露出トリガ |
WSEV_RESIZE | サイズ変化トリガ |
WSEV_MOUSE_IN | マウス内入トリガ |
WSEV_MOUSE_OUT | マウス外出トリガ |
WSEV_MOUSE_PRESS | マウスボタン押下トリガ |
WSEV_MOUSE_RELEASE | マウスボタン開放トリガ |
WSEV_MOUSE_MOVE | マウス移動トリガ |
WSEV_KEY_PRESS | キー押下トリガ |
WSEV_KEY_RELEASE | キー開放トリガ |
WSEV_KEY_HOOK | キー搾取トリガ |
WSEV_SORT | ソートトリガ |
WSEV_GUI_POLICY_CH | ルックアンドフィール変化トリガ |
WSEV_ITEM_SELECTED | 項目選択トリガ |
WSEV_STATUS_CH | 状態変化トリガ |
WSEV_INPUT_FIXED | 入力確定トリガ |
WSEV_BEGIN | 先頭移動トリガ |
WSEV_END | 末尾移動トリガ |
WSEV_INCREMENT | 値増トリガ |
WSEV_DECREMENT | 値減トリガ |
WSEV_PAGE_INCREMENT | 値ページ増トリガ |
WSEV_PAGE_DECREMENT | 値ページ減トリガ |
(注意)クラスによって、トリガの意味は多少異なる場合があります。
- 返値
- なし。
- 注意
- 該当するイベントプロシージャが無い場合は、何も実行しません。
また、新たなクラス派生し、新たなトリガを追加定義する場合、
トリガとして設定可能な上限値 127 に注意して、追加定義してください。
- サンプル
-
void sample_proc(WSCbase* object){
object->execProcedure(WSEV_ACTIVATE);
}
execProcedure 関数の説明
- 書式
- void execProcedure(char* pname)
- 機能
- 引数に指定した名称でイベントプロシージャを実行する関数です。
プロシージャに設定されている名称を引数として実行することが
できます。該当するイベントプロシージャが登録されていない
場合は無視されます。
- 処理
- 指定された名称のイベントプロシージャが存在するならば、
それを実行します。
- 引数
-
(in)char* pname | イベントプロシージャ名称 |
- 返値
- なし。
- 注意
- 該当するイベントプロシージャが無い場合は、何も実行しません。
- サンプル
-
void sample_proc(WSCbase* object){
object->execProcedure("イベントプロシージャ名称");
}
setFocus 関数の説明
- 書式
- long setFocus(WSCbool fl = True)
- 機能
- インスタンスのフォーカスを設定する関数です。
引数に True が指定されるとフォーカスされた状態になり、
False が指定されるとフォーカスを失います。
引数を省略した場合は、True を指定したとみなされます。
- 処理
- フォーカスの状態変化により、WSEV_FOCUS_CH トリガが
発生し、onFocusChange 関数が起動されます。
- 引数
-
(in)WSCbool fl | True = あてる、False = 外す |
- 返値
- WS_NO_ERR = 正常、それ以外はエラー。
- 注意
- フォーカスの状態変化により、onFocusChange() イベント関数が
起動し、WSEV_FOCUS_CH が発生します。
- サンプル
-
void sample_proc(WSCbase* object){
//フォーカスをあてる場合1。
object->setFocus();
//フォーカスをあてる場合2。
object->setFocus(True);
//フォーカスをはずす場合。
object->setFocus(False);
}
setSpecialFocus 関数の説明
- 書式
- long setSpecialFocus(WSCbool fl = True)
- 機能
- リターンキー特別フォーカスを設定する関数です。
通常のフォーカス移動とは異なり、
この関数ではリターンキー特別フォーカスを移動させます。
True が指定されると、リターンキー特別フォーカスを設定し、
False が指定されるとリターンキー特別フォーカスを失います。
引数を省略した場合は、True を指定したとみなされます。
リターンキー特別フォーカスにより、
リターンキー入力のみを WSCvbtn に割り当て、
通常のキー入力を WSCvifield などに割り当てるといった処理を
行なうことができます。
- 処理
- フォーカスの状態変化によって WSEV_SPECIAL_FOCUS_CH トリガが
発生し、onSpecialFocusChange 関数が起動されます。
- 引数
-
(in)WSCbool fl | True = あてる、False = 外す |
- 返値
- WS_NO_ERR = 正常、それ以外はエラー。
- 注意
- フォーカスの状態変化により、onSpecialFocusChange()
イベント関数が起動し、WSEV_SPECIAL_FOCUS_CH が発生します。
- サンプル
-
void sample_proc(WSCbase* object){
//フォーカスをあてる場合1。
object->setSpecialFocus();
//フォーカスをあてる場合2。
object->setSpecialFocus(True);
//フォーカスをはずす場合。
object->setSpecialFocus(False);
}
getFocus 関数の説明
- 書式
- WSCbool getFocus()
- 機能
- フォーカス状態を取得する関数です。
- 処理
-
- 引数
- なし。
- 返値
- True = フォーカス状態である、False = フォーカス状態でない。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
WSCbool fl = object->getFocus();
if (fl == False){
//フォーカス状態でない。
}else{
//フォーカス状態である。
}
}
getFocusInstance 関数の説明
- 書式
- WSCbase* WSCbase::getFocusInstance()
- 機能
- フォーカスを獲得しているインスタンスを取得する関数です。
- 処理
-
- 引数
- なし。
- 返値
- フォーカスを取得しているインスタンス
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
WSCbase* finst = WSCbase::getFocusInstance();
if (finst == NULL){
//フォーカスを取得したいインスタンスは存在しない。
}else{
//finst はフォーカス状態である。
}
}
getSpecialFocus 関数の説明
- 書式
- WSCbool getSpecialFocus()
- 機能
- リターンキー特別フォーカス状態を取得する関数です。
- 処理
-
- 引数
- なし。
- 返値
- True = フォーカス状態である、False = フォーカス状態でない。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
WSCbool fl = object->getSpecialFocus();
if (fl == False){
//リターンキー特別フォーカス状態でない。
}else{
//リターンキー特別フォーカス状態である。
}
}
getAllChildren 関数の説明
- 書式
- long getAllChildren(WSClistData &list)
- 機能
- そのインスタンスが管理するすべての子インスタンスのリストを
取得する関数です。getChildren 関数が直下のインスタンスのみを
対象とするのに対し、getAllChildren は再帰的にすべての
子インスタンスをたどってリストアップします。
- 処理
- getChildren() は、自分の直下のみのインスタンスを対象とするのに
対し、getAllChildren() は、その子のまた子まで、全てをたどります。
- 引数
-
(out)WSClistData& list | 返り値を格納するリストを渡します |
- 返値
- WS_NO_ERR = 正常、それ以外はエラー。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
WSClistData children;
object->getAllChildren(children);
int i;
long num = children.getNum();
for(i=0; i< num; i++){
WSCbase* child = (WSCbase*)children[i];
// 個々の子インスタンスに処理を行います。
}
}
getParentWindow 関数の説明
- 書式
- WSCbase* getParentWindow()
- 機能
- アプリケーションウィンドウを返す関数です。
自分自身がアプリケーションウィンドウの場合は、
自分自身が返されます。
- 処理
- 親をたどっていき、一番上位のもの、すなわち、
アプリケーションウィンドウを返します。
- 引数
- なし。
- 返値
- アプリケーションウィンドウを返します。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
WSCbase* parent_window = object->getParentWindow();
}
getParent 関数の説明
- 書式
- WSCbase* getParent()
- 機能
- 自分を管理している親インスタンスを返す関数です。
- 処理
- 同上。
- 引数
- なし。
- 返値
- 親インスタンスを返します。
- 注意
- 親インスタンスがないアプリケーションウィンドウなどの場合は、
NULL を返します。
- サンプル
-
void sample_proc(WSCbase* object){
WSCbase* parent = object->getParent();
}
onMouseIn 関数の説明
- 書式
- virtual void onMouseIn(WSCpoint* pt)
- 機能
- マウスポインタがインスタンス内に移動して来たとき、
この関数が実行されます。派生クラスでは、
トリガ(WSEV_MOUSE_IN)によるイベントプロシージャを用いる
代わりに、この関数をオーバーライドすることでも、
マウスポインタに関するイベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCpoint* pt | マウスポインタのインスタンス内の座標 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onMouseIn(WSCpoint* pt){
short x = pt->x; //X座標
short y = pt->y; //Y座標
//派生クラスでマウスポインタがインスタンス内に移動して来た場合に
//行う処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onMouseIn(pt);
}
onMouseOut 関数の説明
- 書式
- virtual void onMouseOut()
- 機能
- マウスポインタがインスタンス外に移動したとき、
この関数が実効されます。
派生クラスでは、トリガ(WSEV_MOUSE_OUT)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、マウスポインタに関する
イベント処理を行うことができます。
- 処理
-
- 引数
- なし。
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onMouseOut(){
//派生クラスでマウスポインタがインスタンス外に移動して来た場合に
//行う処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onMouseOut();
}
onMouseMove 関数の説明
- 書式
- virtual void onMouseMove(WSCpoint* pt)
- 機能
- マウスポインタがインスタンス内で移動したとき、
この関数が実行されます。
派生クラスでは、トリガ(WSEV_MOUSE_MOVE)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、マウスポインタに関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCpoint* pt | マウスポインタのインスタンス内の座標 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onMouseMove(WSCpoint* pt){
short x = pt->x; //X座標
short y = pt->y; //Y座標
//派生クラスでマウスポインタが移動した場合に
//行う処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onMouseMove(pt);
}
onMousePress 関数の説明
- 書式
- virtual void onMousePress(WSCpoint* pt)
- 機能
- マウスボタンがインスタンス内で押下されたとき、
この関数が実行されます。
派生クラスでは、トリガ(WSEV_MOUSE_PRESS)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、マウスポインタに関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCpoint* pt | マウスポインタのインスタンス内の座標 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
#include <WSDmouse.h>
void new_class::onMousePress(WSCpoint* pt){
short x = pt->x; //X座標
short y = pt->y; //Y座標
//派生クラスでマウスボタンが押下された場合に
//行う処理を記述します。
long status = WSGIappMouse()->getMouseStatus();
if (status & WS_MOUSE_BTN1){
//左ボタンが押されている。
}
if (status & WS_MOUSE_BTN2){
//中ボタンが押されている。
}
if (status & WS_MOUSE_BTN3){
//右ボタンが押されている。
}
//処理を派生元クラスに引き継ぎます。
old_class::onMousePress(pt);
}
onMouseRelease 関数の説明
- 書式
- virtual void onMouseRelease(WSCpoint* pt)
- 機能
- マウスボタンがインスタンス内で離されたとき、
この関数が実行されます。
派生クラスでは、トリガ(WSEV_MOUSE_RELEASE)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、マウスポインタに関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCpoint* pt | マウスポインタのインスタンス内の座標 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
#include <WSDmouse.h>
void new_class::onMouseRelease(WSCpoint* pt){
short x = pt->x; //X座標
short y = pt->y; //Y座標
//派生クラスでマウスボタンが離された場合に
//行う処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onMouseRelease(pt);
}
onExpose 関数の説明
- 書式
- virtual void onExpose(WSCrect* rect)
- 機能
- インスタンスが露出し描画が必要になったとき、
この関数が実行されます。
描画の領域は X 座標、Y 座標、幅、高さを持つWSCrect 型の
変数で渡されます。
派生クラスでは、トリガ(WSEV_EXPOSE)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、EXPOSE イベントに関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCrect* rect | インスタンス内の露出した領域の座標、幅、縦幅 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onExpose(WSCrect* rect){
//EXPOSE に必要な処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onExpose(rect);
}
onResize 関数の説明
- 書式
- virtual void onResize(WSCrect* rect)
- 機能
- インスタンスがサイズ変更されたとき、この関数が実行されます。
派生クラスでは、トリガ(WSEV_RESIZE)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、サイズ変更に関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCrect* rect | インスタンスの座標、幅、縦幅 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onResize(){
//RESIZE に必要な処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onResize();
}
onVisibleChange 関数の説明
- 書式
- virtual void onVisibleChange(WSCbool vis)
- 機能
- インスタンスの可視属性が変化したとき、この関数が実行されます。
派生クラスでは、トリガ(WSEV_VISIBLE_CH)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、表示属性に関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCbool vis | インスタンスの新しい可視状態 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onVisibleChange(WSCbool vis){
//表示属性変化時に必要な処理を記述します。
if (vis == False){
//不可視状態である。
}else{
//可視状態である。
}
//処理を派生元クラスに引き継ぎます。
old_class::onVisibleChange(vis);
}
onParentVisibleChange 関数の説明
- 書式
- virtual void onParentVisibleChange(WSCbool vis)
- 機能
- 親インスタンスの可視属性の変化に伴い操作状態が変化したとき、
この関数が実行されます。
派生クラスでは、トリガ(WSEV_PARENT_VISIBLE_CH)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、表示属性に関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCbool vis | 親インスタンスの新しい可視状態 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onParentVisibleChange(WSCbool vis){
//親インスタンス表示属性変化時に必要な処理を記述します。
if (vis == False){
//不可視状態である。
}else{
//可視状態である。
}
//処理を派生元クラスに引き継ぎます。
old_class::onParentVisibleChange(vis);
}
onSensitiveChange 関数の説明
- 書式
- virtual void onSensitiveChange(WSCbool det)
- 機能
- インスタンスの選択属性が変化したとき、この関数が実行されます。
派生クラスでは、トリガ(WSEV_SENSITIVE_CH)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、選択属性に関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCbool det | インスタンスの新しい選択属性 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onSensitiveChange(WSCbool vis){
//操作属性変化時に必要な処理を記述します。
if (vis == False){
//操作不可状態である。
}else{
//操作可能状態である。
}
//処理を派生元クラスに引き継ぎます。
old_class::onSensitiveChange(vis);
}
onParentSensitiveChange 関数の説明
- 書式
- virtual void onParentSensitiveChange(WSCbool det)
- 機能
- 親インスタンスの選択属性の変化により、選択状態が
変化した場合に実行されます。
派生クラスでは、トリガ(WSEV_PARENT_SENSITIVE_CH)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、選択属性に関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCbool det | 親インスタンスの新しい選択属性 |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onParentSensitiveChange(WSCbool vis){
//親インスタンス操作属性変化時に必要な処理を記述します。
if (vis == False){
//操作不可状態である。
}else{
//操作可能状態である。
}
//処理を派生元クラスに引き継ぎます。
old_class::onParentSensitiveChange(vis);
}
onChildAdded 関数の説明
- 書式
- virtual void onChildAdded(WSCbase* child)
- 機能
- 子インスタンスが追加されたとき、この関数が実行されます。
派生クラスでは、この関数をオーバーライドすることにより、
子インスタンス追加に関するイベント処理を行うことができます。
- 処理
-
- 引数
-
(out)WSCbase* child | 追加された子インスタンス |
- 返値
- なし。
- 注意
- クラスを派生させる場合にオーバーライドして利用します。
- サンプル
-
void new_class::onChildAdded(WSCbase* child){
//子インスタンスが追加された場合に必要な処理を記述します。
//処理を派生元クラスに引き継ぎます。
old_class::onChildAdded(child);
}
setData 関数の説明
- 書式
- virtual void setData(WSCvariant* data,long encoding = WS_EN_DEFAULT)
- 機能
- データソース指定をサポートするインスタンスで、
データソースを設定する関数です。データソースとして定義されている
プロパティにバリアント(WSCvariant)型でデータを指定します。
文字列の場合はエンコード属性値を指定できます。
エンコード属性値を省略すると、WS_EN_DEFAULT とみなされます。
- 処理
-
- 引数
-
(in)WSCvariant* data | インスタンスに設定したいデータ |
(in)long encoding | 文字列型を指定した場合のエンコーディングの指定 |
コードには次のような値が指定できます。省略するとWS_EN_DEFAULT
を指定した場合と同じになります。
値 | 意味 |
WS_EN_DEFAULT | 現在の設定を指定 |
WS_EN_LOCALE | 現在の LANG 環境変数の設定を指定 |
WS_EN_NONE | 設定を行わない |
WS_EN_ISO8859_1 | ISO8859(1) を指定 |
WS_EN_ISO8859_2 | ISO8859(2) を指定 |
WS_EN_ISO8859_3 | ISO8859(3) を指定 |
WS_EN_ISO8859_4 | ISO8859(4) を指定 |
WS_EN_ISO8859_5 | ISO8859(5) を指定 |
WS_EN_ISO8859_6 | ISO8859(6) を指定 |
WS_EN_ISO8859_7 | ISO8859(7) を指定 |
WS_EN_ISO8859_8 | ISO8859(8) を指定 |
WS_EN_ISO8859_9 | ISO8859(9) を指定 |
WS_EN_ISO8859_10 | ISO8859(10) を指定 |
WS_EN_ISO8859_11 | ISO8859(11) を指定 |
WS_EN_ISO8859_12 | ISO8859(12) を指定 |
WS_EN_ISO8859_13 | ISO8859(13) を指定 |
WS_EN_ISO8859_14 | ISO8859(14) を指定 |
WS_EN_ISO8859_15 | ISO8859(15) を指定 |
WS_EN_UTF8 | UTF8 を指定 |
WS_EN_KOI8R | KOI8R を指定 |
WS_EN_EUCJP | EUCJP を指定 |
WS_EN_SJIS | SJIS を指定 |
WS_EN_EUCKR | EUCKR を指定 |
WS_EN_EUCCN | EUCCN を指定 |
WS_EN_BIG5 | BIG5 を指定 |
- 返値
- なし。
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
WSCvariant value;
value = ... // 設定したい値を格納します。
//エンコーディングを省略した場合
object->setData(value);
//エンコーディングを指定した場合
object->setData(value,WS_EN_SJIS);
}
setVariantData 関数の説明
- 書式
- void setVariantData(char* vname,WSCvariant)
- 機能
- 値に名称を付けてインスタンスへ保持する関数です。
値にユニークな名称を指定することで、インスタンス内部に
記憶させることができます。記憶させた値は、
getVariantData 関数を使って指定した名称で取り出します。
状態を記憶させたり、イベントプロシージャ間でデータの
受渡しをするのに便利です。
- 処理
-
- 引数
-
(in)char* vname | 記憶させたい値につける名称 |
(in)WSCvariant | 記憶させたい値 |
- 返値
- なし。
- 注意
- データは WSCvariant 型で保持されているため、
いろいろな型を指定することが出来ますが、
char* 以外のポインタは、領域は確保されません。
- サンプル
-
void sample_proc(WSCbase* object){
//long 型の値を data1 の名称で記憶させます。
long val =1;
object->setVariantData("data1",val);
//char* 型の値を data2 の名称で記憶させます。
char* str = "test";
object->setVariantData("data2",str);
}
void sample_proc2(WSCbase* object){
//data1 の名称で記憶させた値を取得します。
long val = object->getVariantData("data1");
//data2 の名称で記憶させた char* は、WSCstring で受け取ります。
WSCstring str;
str = object->getVariantData("data2");
}
getVariantData 関数の説明
- 書式
- WSCvariant &setVariantData(char* vname)
- 機能
- setVariantData 関数によって保持された値を取得する関数です。
- 処理
-
- 引数
-
(in)char* vname | 取得したい値の名称 |
- 返値
- WSCvariant&
- 注意
- 取得される値は WSCvariant 型なので、いろいろな型に
代入することが出来ますが、
char* 以外は、領域は確保されません。
また、char* ポインタで値を取得したい場合は、
一旦 WSCstring クラス、または、
WSCvariant 型に代入してから、(char*) にキャストしてください。
- サンプル
- setVariantData()を参照してください。
onFocusChange 関数の説明
- 書式
- void onFocusChange(WSCbool fl)
- 機能
- インスタンスのフォーカスの状態が変化したとき、
この関数が実行されます。
派生クラスでは、トリガ(WSEV_FOCUS_CH)による
イベントプロシージャを用いる代わりに、
この関数をオーバーライドすることでも、フォーカスに関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(in)WSCbool fl | 新たなフォーカスの状態 |
- 返値
- なし。
- 注意
- オーバーライドして使用してください。
- サンプル
-
void new_class::onFocusChange(WSCbool fl){
//フォーカスの状態が変化した場合に必要な処理を記述します。
if (fl == False){
//フォーカスを失った。
}else{
//フォーカスを獲得した。
}
//処理を派生元クラスに引き継ぎます。
old_class::onFocusChange(fl);
}
onSpecialFocusChange 関数の説明
- 書式
- void onSpecialFocusChange(WSCbool fl)
- 機能
- インスタンスのリターンキー特別フォーカスの状態が変化したとき、
この関数が実行されます。
派生クラスでは、この関数をオーバーライドすることで、
リターンキー特別フォーカスに関する
イベント処理を行うことができます。
- 処理
-
- 引数
-
(in)WSCbool fl | 新たなフォーカスの状態 |
- 返値
- なし。
- 注意
- オーバーライドして使用してください。
- サンプル
-
void new_class::onSpecialFocusChange(WSCbool fl){
//リターンキー特別フォーカスの状態が変化した場合に必要な処理を記述します。
if (fl == False){
//フォーカスを失った。
}else{
//フォーカスを獲得した。
}
//処理を派生元クラスに引き継ぎます。
old_class::onSpecialFocusChange(fl);
}
onSelectionChange 関数の説明
- 書式
- void onSelectionChange(WSCbool fl)
- 機能
- 選択されているデータの状態が変化したとき、
この関数が実行されます。
派生クラスでは、この関数をオーバーライドすることで、
セレクションに関するイベント処理を行うことができます。
セレクションとは、マウスで選択された文字列などのデータで
カットアンドペーストされるデータのことを指します。
False が渡される場合は、セレクションを失い、
True が渡される場合は、セレクションを
獲得したことを意味します。
- 処理
-
- 引数
-
(in)WSCbool fl | セレクションの獲得状態 |
- 返値
- なし。
- 注意
- オーバーライドして使用してください。
- サンプル
-
void new_class::onSelectionChagen(WSCbool fl){
//セレクションの状態が変化した場合に必要な処理を記述します。
if (fl == False){
//セレクションを失った。
}else{
//セレクションを獲得した。
}
//処理を派生元クラスに引き継ぎます。
old_class::onSelectionChange(fl);
}
setInternalObject 関数の説明
- 書式
- void setInternalObject(WSCbool fl)
- 機能
- 内部インスタンス属性フラグを設定する関数です。
- 処理
- 内部インスタンス属性を True に設定すると、
win ファイルへの出力や、
アプリケーションビルダでの編集が行えなくなります。
- 引数
-
(in)WSCbool fl | 内部インスタンス指定 |
- 返値
- なし。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
WSCbase* inst = new WSCdialog(object,"newwin000");
inst->initialize();
inst->setInternalObject(True);
inst->setProperty(WSNname,"newwin000");
inst->setProperty(WSNtitleString,"title1");
inst->setProperty(WSNvis,(WSCbool)1);
return inst;
}
getInternalObject 関数の説明
- 書式
- WSCbool getInternalObject()
- 機能
- 内部インスタンス属性を取得する関数です。
- 処理
- 内部インスタンス属性フラグの状態を返します。
- 引数
- なし。
- 返値
- 内部インスタンス属性
- 注意
-
- サンプル
-
void sample_proc(WSCbase* object){
WSClistData children = object->getChildren();
long i;
long num = children.getNum();
for(i=0; i< num; i++){
WSCbase* child = (WSCbase*)children[i];
WSCbool fl = inst->getInternalObject();
if (fl != False){
//内部インスタンスである。
}else{
//通常のインスタンスである。
}
}
}
setScaleOffsetPtr 関数の説明
- 書式
- void setScaleOffsetPtr(double* ptr)
- 機能
- 表示倍率を格納した変数へのポインタを指定する関数です。
表示倍率が設定されると、インスタンスの描画時にその倍率で
表示します。倍率を直接指定するのではない点に
注意してください。
ポインタの設定を解除したい場合は、 NULL を指定します。
- 処理
- 複数のインスタンスに同じポインタを設定し、そのポインタの
内容を変更することで、
一度に表示倍率を変更することができます。
- 引数
-
(in)double* ptr | 倍率を格納した変数へのポインタ |
- 返値
- なし。
- 注意
- ポインタの設定を解除したい場合は、NULLを指定します。
- サンプル
-
double scale;
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを設定します。
object->setScaleOffsetPtr(&scale);
}
setXOffsetPtr 関数の説明
- 書式
- void setXOffset(short* ptr)
- 機能
- 表示位置(X座標)のオフセットを格納した変数へのポインタを
指定する関数です。表示位置(X座標)のオフセットが設定されると、
オフセット値を加算した座標でインスタンスの描画が行われます。
ポインタの設定を解除したい場合は、NULL を指定します。
- 処理
- 複数のインスタンスに同じポインタを設定し、そのポインタの
内容を変更することで、
一度に表示位置を変更することができます。
- 引数
-
(in)short* ptr | オフセット値を格納した変数へのポインタ |
- 返値
- なし。
- 注意
- ポインタの設定を解除したい場合は、NULLを指定します。
- サンプル
-
short offsetx;
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを設定します。
object->setXOffsetPtr(&offsetx);
}
setYOffsetPtr 関数の説明
- 書式
- void setYOffset(short* ptr)
- 機能
- 表示位置(Y座標)のオフセットを格納した変数へのポインタを指定する
関数です。表示位置(Y座標)のオフセットが設定されると、
オフセット値を加算した座標でインスタンスの描画が行われます。
ポインタの設定を解除したい場合は、NULL を指定します。
- 処理
- 複数のインスタンスに同じポインタを設定することで、
一度に表示位置を変更することができます。
- 引数
-
(in)short* ptr | オフセット値を格納した変数へのポインタ |
- 返値
- なし。
- 注意
- ポインタの設定を解除したい場合は、NULLを指定します。
- サンプル
-
short offsety;
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを設定します。
object->setXOffsetPtr(&offsety);
}
getScaleOffsetPtr 関数の説明
- 書式
- double* getScaleOffset()
- 機能
- 表示倍率を格納した変数へのポインタを取得する関数です。
設定されていない場合には、NULL が返されます。
- 処理
-
- 引数
- なし。
- 返値
- 表示倍率を格納した変数へのポインタ
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを取得します。
double* ptr = object->getScaleOffsetPtr();
}
getXOffsetPtr 関数の説明
- 書式
- short* getXOffset()
- 機能
- 表示位置(X座標)のオフセットを格納した変数へのポインタを取得する
関数です。設定されていない場合、NULL が返されます。
- 処理
-
- 引数
- なし。
- 返値
- 表示位置(X座標)のオフセットを格納した変数へのポインタ
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを取得します。
short* ptr = object->getXOffsetPtr();
}
getYOffsetPtr 関数の説明
- 書式
- short* getYOffset()
- 機能
- 表示位置(Y座標)のオフセットを格納した変数へのポインタを取得する
関数です。設定されていない場合、NULL が返されます。
- 処理
-
- 引数
- なし。
- 返値
- 表示位置(Y座標)のオフセットを格納した変数へのポインタ
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//初期化プロシージャ等で、オフセットを取得します。
short* ptr = object->getYOffsetPtr();
}
isDefaultValue 関数の説明
- 書式
- long isDefaultValue(char* pname,WSCbool* fl)
- 機能
- プロパティがデフォルト値であるか否かを調べる関数です。
そのインスタンスに指定するプロパティが存在する場合は、
第二引数にデフォルト値であったかどうかを設定します。
もし存在しないプロパティを指定した場合は、
WS_ERR が返されます。
- 処理
- 指定されたプロパティがデフォルト値であるか否かを
パラメータ fl に格納して返します。
- 引数
-
(in)char* pname | プロパティ名 |
(out)WSCbool* fl | 結果を取得する変数へのポインタ |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//WSNlabelString プロパティがデフォルト値かどうか調べます。
WSCbool fl;
long ret = object->isDefaultValue(WSNlabelString,&fl);
}
setDefaultValue 関数の説明
- 書式
- WSCbool setDefaultValue(char* pname)
- 機能
- 指定されたプロパティにデフォルト値を設定する関数です。
この関数を呼び出すと、対象のプロパティに
デフォルト値が設定されます。
- 処理
-
- 引数
-
- 返値
- True= 正常、False=エラー。
- 注意
- なし。
- サンプル
-
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 キー、TAB キーを
押した際にフォーカスが移動するインスタンスの名称を返します。
- 処理
-
- 引数
-
方向には次のような値が指定できます。
値 | 意味 |
WS_UP | 上方向 |
WS_DOWN | 下方向 |
WS_RIGHT | 右方向 |
WS_LEFT | 左方向 |
WS_RET | リターンキーによる移動方向 |
WS_TAB | タブキーによる移動方向 |
WS_STAB | シフトキー+タブキーによる移動方向 |
- 返値
- フォーカス移動先インスタンス
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//フォーカス移動可能な右側に存在するインスタンスを取得
WSCbase* inst = object->getFocusMoveInstance(WS_RIGHT);
if (inst != NULL){
//取得された。
}
}
needUpdate 関数の説明
- 書式
- void needUpdate()
- 機能
- 更新フラグをセットし、イベントプロシージャ終了時に
表示の更新が行われるようにするための関数です。
実際の表示更新は update 関数や WSGIappObjectList の
exeUpdate 関数呼び出しによって行われます。
- 処理
-
- 引数
- なし。
- 返値
- なし。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//更新フラグをたて、プロシージャ終了後に update() が実行されるようにします。
object->needUpdate();
}
isNeedUpdate 関数の説明
- 書式
- WSCbool isNeedUpdate()
- 機能
- 更新フラグの状態を取得する関数です。
この関数の返り値が True の場合は、プロパティが
更新されたり needUpdate 関数が実行されており、
これから表示更新されることを示します。
- 処理
- プロパティが変更されたり、needUpdate() が実行されると、
更新フラグが True になります。
- 引数
- なし。
- 返値
- True = これから更新される、False = 更新されない。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//更新フラグがたっているか否かを調べます。
WSCbool* fl = object->isNeedUpdate();
if (fl == False){
//更新フラグはたっていない。
}else{
//更新フラグはたっていない。
}
}
isParent 関数の説明
- 書式
- WSCbool isParent(WSCbase* instance)
- 機能
- 指定されたインスタンスが自分の親インスタンスであるかを
調べる関数です。
- 処理
-
- 引数
-
(in)WSCbase* instance | インスタンス |
- 返値
- True = 親インスタンスである、False = 親インスタンスでない。
- 注意
- なし。
- サンプル
-
extern WSCmainWindow* newwin000;
void sample_proc(WSCbase* object){
//ウィンドウ newwin000 が親インスタンスかどうか調べます。
WSCbool fl = object->isParent(newwin000);
if (fl == False){
//親インスタンスでない。
}else{
//親インスタンスである。
}
}
existTrigger 関数の説明
- 書式
- WSCbool existTrigger(long trigger)
- 機能
- 指定されたトリガが、そのインスタンスで使用可能な
トリガであるかを取得する関数です。
- 処理
-
- 引数
-
- 返値
- True = 使用可能である、False = 使用可能ではない。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//トリガが使用可能かどうか調べます。
WSCbool fl = object->existTrigger(WSEV_ACTIVATE);
if (fl != False){
//使用可能。
}
}
getMouseAddr 関数の説明
- 書式
- WSCbool getMouseAddr(short* x,short* y)
- 機能
- インスタンスの座標系でのマウスポインタの座標を取得する関数です。
- 処理
-
- 引数
-
(out)short* x | X座標を格納する変数へのポインタ |
(out)short* y | Y座標を格納する変数へのポインタ |
- 返値
- True = 取得可能、False = 取得可能ではない。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
short px,py;
object->getMouseAddr(&x,&y);
}
addProcedure 関数の説明
- 書式
- long addProcedure(WSCprocedure* ep)
- 機能
- インスタンスにイベントプロシージャを追加する関数です。
追加されたイベントプロシージャはインスタンスにおいて
発生するイベントの他に、
execProcedure 関数でも実行することができます。
- 処理
-
- 引数
-
(in)WSCprocedure* ep | イベントプロシージャインスタンス |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- インスタンス削除時に、追加されたWSCprocedureインスタンスも
同時に削除されます。同じWSCprocedure インスタンスを
異なるインスタンスに対して addProcedure しないよう
ご注意ください。
- サンプル
-
//新たに張り付けるイベントプロシージャ用関数
void procedure1(WSCbase*){
//処理
}
//イベントプロシージャ本体
void sample_proc(WSCbase* object){
//procedure1 関数をプロシージャ名 procedure1、
//トリガ WSEV_ACTIVATE で張り付けます。
//WSEV_ACTIVATE が発生すると、procedure1 が起動されるようになります。
WSCprocedure* ep = new WSCprocedure("procedure1",WSEV_ACTIVATE);
ep->setFunction(procedure1,"procedure1");
object->addProcedure(ep);
}
delProcedure 関数の説明
- 書式
- long delProcedure(WSCprocedure* ep)
- 機能
- インスタンスに登録されているイベントプロシージャを
解除する関数です。この関数を実行した後は、
解除されたイベントプロシージャは実行されなくなります。
- 処理
- addProcedure()関数で登録されたイベントプロシージャの
登録を解除します。
- 引数
-
(in)WSCprocedure* ep | イベントプロシージャインスタンス |
- 返値
- WS_NO_ERR= 正常、それ以外はエラー。
- 注意
- なし。
- サンプル
-
void sample_proc(WSCbase* object){
//張り付けられているイベントプロシージャを削除します。
WSClistData procedures = object->getProcedures();
long i;
long num = procedures.getNum();
for(i=0; i<num; i++){
WSCprocedure* ep = (WSCprocedure*)procedures[i];
object->delProcedure(ep);
delete ep;
}
}
getProcedures 関数の説明
- 書式
- WSClistData getProcedures()
- 機能
- インスタンスに登録されている全てのイベントプロシージャを
含むリストを取得する関数です。
- 処理
- addProcedure()関数で登録されたイベントプロシージャの
リストを返します。
- 引数
- なし。
- 返値
- WSCprocedure* のリスト
- 注意
- なし。
- サンプル
- delProcedure() クラスのサンプルを参照してください。
getdev 関数の説明
- 書式
- WSDdev* getdev()
- 機能
- そのインスタンスで使用されているデバイスクラスのインスタンスを
取得する関数です。
デバイスクラスのインスタンスは、インスタンスの描画やイベントの
ハンドリングに使用されます。インスタンス生成後一度も
表示されていないとデバイスクラスのインスタンスが
作成されていないことがあり、その場合は NULL が返されます。
- 処理
-
- 引数
- なし。
- 返値
- デバイスクラスのインスタンス
- 注意
- インスタンス生成後、一度も表示されていない場合、
デバイスクラスのインスタンスが作成されていない場合があります。
作成されていない場合、NULL が返されます。
- サンプル
- WSDdev クラスのサンプルを参照してください。
getPropertyInheritChild 関数の説明
- 書式
- WSCbase* getPropertyInheritChild()
- 機能
- アプリケーションウィンドウ派生または複合派生によって
クラスウィンドウを作成するとき、子インスタンスのプロパティを
親インスタンスにマージするために使います。
単にクラスウィンドウを作成した状態の新しいクラスでは、
派生元インスタンスのプロパティしか
利用できませんが、
この関数をオーバーライドして子インスタンスを返すようにすると、
新しいクラスのプロパティとして、派生元インスタンスの
プロパティとその子インスタンスのプロパティが使えるようになります。
- 処理
- クラス派生において、
この関数をオーバーライドし、プロパティをマージしたい
メンバであるメンバインスタンスを返すようにすることで、
クラス本体のインスタンスにそのメンバインスタンスのプロパティを
クラス本体に追加することができます。
- 引数
- なし。
- 返値
- 派生したクラスが保持するメンバインスタンス
- 注意
-
- サンプル
-
WSCbase* new_class::getPropertyInheritChild(){
//メンバインスタンスのプロパティをクラス本体のプロパティとして
//公開したい場合、この関数をオーバーライドし、
//そのインスタンスを返すようにします。
return member1;
}
Document Release 3.90 For Use with WideStudio/MWT Release 3.90, Summer 2005 WideStudio/MWT Home | Up to Copyright(C) WideStudio/MWT Development Team, 1999-2005 | | Last modified: June 25, 2005 | |