WideStudio Application Builder User's Guide(Perl言語)

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

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

#----------------------------------------------------------
# Function for the event procedure
#----------------------------------------------------------
use mwt;

sub btn_ep {
  my ($object) = @_:
  $status = mwt::WSDmouse_getStatus(mwt::WSGIappMouse());      # A
  if ($status & $mwt::WS_MOUSE_BTN1){              # B
    # 左マウスボタンが押されている場合の処理
    #....
  }
  if ($status & $mwt::WS_MOUSE_BTN2){              # C
    # 中マウスボタンが押されている場合の処理
    #....
  }
  if ($status & $mwt::WS_MOUSE_BTN3){              # D
    # 右マウスボタンが押されている場合の処理
    #....
  }
}
1;

A で、マウスの押下状態を取得します。B,C,D で、 それぞれ、調べたいボタンの判定を行います。== (比較)ではなく、& (アン ド)で判定するのは、複数のボタンが同時に押されている場合があるからです。
Document Release 3.80 for WideStudio ver 3.80, Jan 2005


WideStudio documents index | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。