![]() | Programming Guide | WideStudio/MWT Index 目次 |
マウスのボタンを判定するには
イベントプロシージャ等で、押されているマウスのボタンを判定したい場合が あります。下記の例のようにグローバルマウスインスタンスからの情報取得に よって、現在押されているマウスのボタンが判定することガできます。#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 で、 それぞれ、調べたいボタンの判定を行います。== (比較)ではなく、& (アン ド)で判定するのは、複数のボタンが同時に押されている場合があるからです。
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |