![]() |
ドローイングエリアドローイングエリアで図形を描画するにはドローイングエリア(WSCvdrawingArea クラス)は、 画面領域に自由に図形を描画することが可能です。 ドローイングエリアには、描画用のメソッドが用意されており、 EXPOSE イベント(露出イベント) で、これらのメソッドを用いて 描画します。 次に示すサンプルプログラムは、ドローイングエリアでの 基本的な描画方法を示します。#include <WScom.h> #include <WSCfunctionList.h> #include <WSCbase.h> //---------------------------------------------------------- //Function for the event procedure //---------------------------------------------------------- #include <WSCvdrawingArea.h> #include <WSCvslider.h> void drawep(WSCbase* object){ //drawing_a is same as newvdra_000... //You can get it extern WSCvdrawingArea* newvdra000; also. WSCvdrawingArea* drawing_a = (WSCvdrawingArea*)object->cast("WSCvdrawingArea"); //(A) if (drawing_a == NULL){ //(B) return; } drawing_a->setForeColor("#ff0000"); //(C) drawing_a->drawLine(0,0,100,100); //(D) } static WSCfunctionRegister op("drawep",(void*)drawep);まず、ドローイングエリアのメソッドにアクセスするために、 (A)に示す様に、ドローイングエリアクラス(WSCvdrawingArea)の ポインタを取得します。 WSCbase クラスのポインタのままですと、ドローイングエリアの メソッドにアクセスできないからです。 イベントプロシージャが間違って他のクラスに 張られる場合もあるので、ドローイングエリアクラスかどうか (B) で判別します。ポインタの取得結果が NULLでなければ、 ドローイングエリアクラスです。 (C) で描画する時の色を指定しています。 (D) では、座標(0,0)から座標(100,100)へ線を描画しています。 ドローイングエリアには、線を描画するメソッドの他に、 次のようなメソッドがあります。 ドローイングエリアでイメージを描画するにはイメージを表示したい場合は、drawImage メソッド、もしくは drawStretchedImage メソッドを用います。 drawStretchedImage メソッドは、drawImage メソッドがそのままの大きさで 表示するのにたいし、与えられたサイズにイメージを拡大縮小させて 表示します。#include <WScom.h> #include <WSCfunctionList.h> #include <WSCbase.h> //---------------------------------------------------------- //Function for the event procedure //---------------------------------------------------------- #include <WSCvdrawingArea.h> #include <WSCvslider.h> void drawep(WSCbase* object){ //drawing_a is same as newvdra_000... //You can get it extern WSCvdrawingArea* newvdra000; also. WSCvdrawingArea* drawing_a = (WSCvdrawingArea*)object->cast("WSCvdrawingArea"); if (drawing_a == NULL){ return; } WSCushort w = drawing_a->getProperty(WSNwidth); WSCushort h = drawing_a->getProperty(WSNheight); drawing_a->drawStretchedImage(0,0,w,h,"001.jpg"); //(A) } static WSCfunctionRegister op("drawep",(void*)drawep);Aでは、ドローイングエリアのサイズにあわせてイメージを表示しています。 Document Release 3.00 For Use with Wide Studio Release 3.00, Summper 2002
|