none
マウスのmiddleボタンのMouseMoveイベント取得 RRS feed

  • 質問

  • 皆さんお疲れ様です。

    私は3Dグラフィックツールを作っているのですが、マウスのmiddleボタン(ホィールボタン)のドラッグをMouseMoveイベントなどを利用して計りたいのですが、wheelマウスを使ってる場合、MouseMoveイベント中から

        if( (Control::MouseButtons == System::Windows::Forms::MouseButtons::Middle) ){
       }
    として調べても、Middleボタンは押されていない、っと判定されてしまいます。

    System::Windows::Forms::HandledMouseEventArgs
    などを使って、wheelを無効にすればよいのかと思ったのですが、いまいち使いどころがわかりません。

    上記のような経験をお持ちの方がいましたら、なにかアドバイスをいただければ幸いです。

    よろしくお願いします。


    2006年7月13日 13:34

回答

  • 私のところでは問題なく True になりますね。

    環境依存かも知れないので書いておくと、XP SP2 上で、単純な 3 ボタン光学マウスを標準ドライバを使って USB 接続で接続してるのと、ノートパソコン付属のタッチパッドを Alps のドライバで動かしているののデュアルマウス(w;)環境ですが。

    なにか他に特筆すべき用件はありますか? DirectX 使ってるとか。

    問題からははずれますが、MouseMove ならイベント引数の MouseEventArgs がマウス関連の情報を持っていますのでそれを使った方がベターかと。

    2006年7月13日 14:19

  • ご返答ありがとうございます。

    環境はXP SP2で、C++CLIでDirectXをnativeで使ってます。
    マウスは光学式のwheelマウス(logitechのMX700)です。
    MAYAなどの3Dツールでは、問題なくmiddleボタンとして使えています。

    MouseEventArgs は最初に調べたのですが、うまくいかなかったので、方式を切り替えました。

    DirectXも使っていますが、マウスの制御に関係するオペレーションはしてないのですが。。


    うーん、ググってもなかなかない問題のようですね。。。

    ご回答どうもありがとうございましたが、恐れ入りますが、またなにかご指摘がありましたら助かります。

    2006年7月14日 6:28

すべての返信

  • 私のところでは問題なく True になりますね。

    環境依存かも知れないので書いておくと、XP SP2 上で、単純な 3 ボタン光学マウスを標準ドライバを使って USB 接続で接続してるのと、ノートパソコン付属のタッチパッドを Alps のドライバで動かしているののデュアルマウス(w;)環境ですが。

    なにか他に特筆すべき用件はありますか? DirectX 使ってるとか。

    問題からははずれますが、MouseMove ならイベント引数の MouseEventArgs がマウス関連の情報を持っていますのでそれを使った方がベターかと。

    2006年7月13日 14:19

  • ご返答ありがとうございます。

    環境はXP SP2で、C++CLIでDirectXをnativeで使ってます。
    マウスは光学式のwheelマウス(logitechのMX700)です。
    MAYAなどの3Dツールでは、問題なくmiddleボタンとして使えています。

    MouseEventArgs は最初に調べたのですが、うまくいかなかったので、方式を切り替えました。

    DirectXも使っていますが、マウスの制御に関係するオペレーションはしてないのですが。。


    うーん、ググってもなかなかない問題のようですね。。。

    ご回答どうもありがとうございましたが、恐れ入りますが、またなにかご指摘がありましたら助かります。

    2006年7月14日 6:28
  • WIN32 SDKの環境ですが、中ボタンのボタンイベントがまったくこなく、悩んだ時期がありました。
    調べてみると、マウス設定ツールのホイールボタンの割付設定がおかしかったためでした。

    私のマウスはLogitechのMX1000ですが、ホイールボタンの設定を中央ボタンに割り付けることで解決しました。

    一度、マウスの設定を見直してみてはいかがでしょうか。
    2006年7月14日 9:51
  • ご指摘のとおり、コントロールパネルのマウスプロパティで、
    ホィール部分の機能をユニバーサルから、中ボタンに切り替えたら
    正しくイベントをゲットできるようになりました。

    MAYAなどでは問題なく使えていたのが謎のままですが、
    おかげさまで前進することができると思います。

    ありがとうございました!
    2006年7月15日 11:56