HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0811
しゅんぽんHSPでのマウスホイールのの値取得について3未解決


しゅんぽん

リンク

2017/8/11(Fri) 18:04:04|NO.80915

マウスホイールの縦回転の取得方法はmousewということはわかっているのですが、、
チルトホイールの横のホイールの値を取得する方法が分かりません。
方法を教えてください。



この記事に返信する


沢渡

リンク

2017/8/12(Sat) 11:35:40|NO.80917

これを参考にやってみましたが、これでどうでしょうか?
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms645614(v=vs.85).aspx
・チルトホイールを搭載したマウスを持っていないので、ジョイパッド+JoyToKeyによるエミュレートです。
・WM_MOUSEHWHEELはVista以降にしか対応していないようなので、ご注意ください。

oncmd gosub *th,0x020E stop *th a=wparam>>16 //チルトが右方向に傾いた場合は120が、左方向に傾いた場合は-120が入る //mes a return



沢渡

リンク

2017/8/12(Sat) 11:39:00|NO.80918

追記です。
120というのはWHEEL_DELTAなる値だそうですが、環境によってはこれを上回ったり下回ったりすることもあるようです。
詳しいことは私にはわかりかねますので、ご了承ください。



MillkeySoftw

リンク

2017/8/12(Sat) 14:31:37|NO.80923

沢渡さんの提示したスクリプトを改良し、mousew と同じ動作にするように修正したスクリプト。

#module _MouseHWheel_ #define global mouseh getMouseHWheel() #defcfunc getMouseHWheel if msgcmdinit = 0{ oncmd gosub *th,0x20E msgcmdinit = 1 } if msgcmdblock = 0 : msgcmdblock = 1 : return th_value return 0 *th th_value = wparam >> 16 msgcmdblock = 0 return #global *main pos 0,0 : color 0,0,0 : boxf : color 255,255,255 mes ""+mouseh+" / "+mousew await 10 goto *main



ONION software Copyright 1997-2021(c) All rights reserved.