Wide Studio Programmer's Guide

Wide Studio Home
Up to


マウスのボタンを判定するには

イベントプロシージャ等で、押されているマウスのボタンを判定したい場合があります。 下記の例のようにグローバルマウスインスタンスからの情報取得によって、 現在押されているマウスのボタンが判定することガできます。

#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


Wide Stuido Home | Up to

Copyright(C) S. Hirabayashi, 1999-2002 Last modified: January 1, 2002