マウスのボタンを判定するにはイベントプロシージャ等で、押されているマウスのボタンを判定したい場合があります。 下記の例のようにグローバルマウスインスタンスからの情報取得によって、 現在押されているマウスのボタンが判定することガできます。
#include "WScom.h"
#include "WSCfunctionList.h"
#include "WSCbase.h"
//----------------------------------------------------------
//Function for the event procedure
//----------------------------------------------------------
#include "WSDmouse.h" //A
void btn_ep(WSCbase* object){
long status = WSGIappMouse()->getStatus(); //B
if (status & WS_MOUSE_BTN1){ //C
//左マウスボタンが押されている場合の処理
}
if (status & WS_MOUSE_BTN2){ //D
//中マウスボタンが押されている場合の処理
}
if (status & WS_MOUSE_BTN3){ //E
//右マウスボタンが押されている場合の処理
}
}
static WSCfunctionRegister op("exit_ep",(void*)exit_ep);
まず、A で、グローバルマウスインスタンスにアクセスするため、
WSDmouse.h を include しておきます。
B で、マウスの押下状態を取得します。
C,D,E で、それぞれ、調べたいボタンの判定を行います。
== (比較)ではなく、& (アンド)で判定するのは、複数のボタンが
同時に押されている場合があるからです。
Document Release 2.0 For Use with Wide Studio Release 2.0, Spring 2002
|