WideStudio Application Builder User's Guide(Ocaml言語) | ||
---|---|---|
マウスのボタンを判定するにはイベントプロシージャ等で、押されているマウスのボタンを判定したい場合が あります。下記の例のようにグローバルマウスインスタンスからの情報取得に よって、現在押されているマウスのボタンが判定することガできます。(*----------------------------------------------------------*) (*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_epA で、マウスの押下状態を取得します。B,C,D で、 それぞれ、調べたいボタンの判定を行います。= (比較)ではなく、& (アン ド)で判定するのは、複数のボタンが同時に押されている場合があるからです。 Document Release 3.80 for WideStudio ver 3.80, Jan 2005
|
||
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。 |
Copyright©WideStudio Development Team,1999-2005
|