2011-07-07 15 views
3

私は、私は次のようで行われてきた私の過去ログアプリケーションでマウスホイールを使用しています: MSDN MouseWheel example検出水平マウスホイールの動き

しかし、私のアプリケーション上で、また、既存のハードウェア水平マウスホイールを使用するように素晴らしいことですあまりにも。しかし、これが.Netでどのように使用されるのか、どうすれば検出できますか?

Logitech RX1500またはm-RAG97を使用しています。 enter image description here

よろしく

-

*ソリューション*

オーバーライドWINPROCは、マウスホイールのイベントをキャッチします。

MustInherit Class Win32Messages 
    Public Const WM_MOUSEHWHEEL As Integer = &H20e 
    'discovered via Spy++ 
End Class 



Protected Overrides Sub WndProc(ByRef m As Message) 
    MyBase.WndProc(m) 
    If m.HWnd <> Me.Handle Then 
     Return 
    End If 
    Select Case m.Msg 
     Case Win32Messages.WM_MOUSEHWHEEL 
      FireMouseHWheel(m.WParam, m.LParam) 
      m.Result = DirectCast(1, IntPtr) 
      Exit Select 
     Case Else 
      Exit Select 

    End Select 
End Sub 
+0

水平ホイールとは何ですか?あなたはどのようなマウスを持っていますか? –

+0

私は画像とサンプルのデバイスを追加しました。 – Nasenbaer

+0

こんにちはナンセボア、あなたはまだあなたが積極的なSOメンバーだと思うので、うまくいけばこれに返事を返します。私はVB.NET 2010アプリでこれをやろうとしています。 CodeNakedがあなたに指示した投稿のすべてのコードを変換しました。しかし、私は最初のFireMouseWheelサブラインの第1行に問題があります。 'Dim tilt As Int32 = DirectCast(Utils.HIWORD(wParam)、Int16)'。 'Integers'型の値を 'Utils.HIWORD(wParam)'をハイライト表示して 'Short'に変換できないというエラーを示しています。私はこの障害を乗り越えなければならないと思われますので、私が少しの指針を与えることができれば感謝します。乾杯! – Antagony

答えて

3

このblog postは、どのようにしてWinFormsアプリケーションにサポートを追加できるかを示しています。

+0

お返事ありがとうございます! – Nasenbaer

関連する問題