オブジェクトの描画制御を行うにはオブジェクトの描画制御を行うには、次のようなメンバ関数を利用します。
オブジェクトの描画更新を行うには通常のプロパティ更新は、イベントプロシージャ実行直後に 更新されますが、ユーザが強制的に描画更新を行うこともできます。
void event_procedure(WSCbase* object){
//プロパティの変更
object->setProperty(WSNlabelString,"設定動作");
//更新
object->update();
}
update 関数は、プロパティが変更されて更新が必要な場合のみ更新処理を行います。
オブジェクトを再描画させるにはオブジェクトに再描画させるには、次のようなケースがあります。 それぞれのケースにおいて再描画方法を示します。
EXPOSE イベントを発生させずに 強制的に描画(上書き)させる場合は、強制描画フラグをたてて draw()を使います。 draw() は、再描画の必要のない場合、実行されないので、強制的に 描画を行いたい場合は次のように行います。
object->setAbsoluteDraw(True);
object->draw();
EXPOSE イベントを発生させずに 単に描画させる場合は、draw() を使います。 強制描画フラグが立っていない場合は、EXPOSE イベントが 発生した EXPOSE 領域のみ描画します。 draw() は、再描画の必要のない場合、 実行されないのでパフォーマンスの向上が図れます。
object->draw();
EXPOSE イベントを発生させずに 一度クリアして描画させる場合は、clear() と draw() を使います。 もし、他のオブジェクトで重なっているものがあれば、重なっている部分は欠けて しまうので、そのような場合は、クリア描画(イベント発生あり)を行ってください。
object->clear();
object->setAbsoluteDraw(True);
object->draw();
Document Release 2.0 For Use with Wide Studio Release 2.0, Spring 2002
|