|
マウスのボタンを判定するには
イベントプロシージャ等で、押されているマウスのボタンを判定したい場合が
あります。下記の例のようにグローバルマウスインスタンスからの情報取得に
よって、現在押されているマウスのボタンが判定することガできます。
(*----------------------------------------------------------*)
(*Function for the event procedure *)
(*----------------------------------------------------------*)
open Swig
open Mwt
open Mwtlib
let btn_ep obj =
let status = _WSGIappMouse '() -> getStatus () in begin (* A *)
if ((get_int status) land (get_int _WS_MOUSE_BTN1)) <> 0 then (* B *)
print_string("左マウスボタンが押されている場合の処理");
if ((get_int status) land (get_int _WS_MOUSE_BTN2)) <> 0 then (* C *)
print_string("中マウスボタンが押されている場合の処理");
if ((get_int status) land (get_int _WS_MOUSE_BTN3)) <> 0 then (* D *)
print_string("右マウスボタンが押されている場合の処理");
print_newline();
end;
()
let _ = Callback.register "btn_ep" btn_ep
A で、マウスの押下状態を取得します。B,C,D で、
それぞれ、調べたいボタンの判定を行います。= (比較)ではなく、& (アン
ド)で判定するのは、複数のボタンが同時に押されている場合があるからです。
Document Release 3.80 for WideStudio ver 3.80, Jan 2005 WideStudio documents index | 目次
|
|