WideStudio/MWT Logo
WideStudio/MWT
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 で、 それぞれ、調べたいボタンの判定を行います。== (比較)ではなく、& (アン ド)で判定するのは、複数のボタンが同時に押されている場合があるからです。

Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | 目次

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005