私は、私は次のようで行われてきた私の過去ログアプリケーションでマウスホイールを使用しています: MSDN MouseWheel example検出水平マウスホイールの動き
しかし、私のアプリケーション上で、また、既存のハードウェア水平マウスホイールを使用するように素晴らしいことですあまりにも。しかし、これが.Netでどのように使用されるのか、どうすれば検出できますか?
Logitech RX1500またはm-RAG97を使用しています。
よろしく
-
*ソリューション*
オーバーライド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
水平ホイールとは何ですか?あなたはどのようなマウスを持っていますか? –
私は画像とサンプルのデバイスを追加しました。 – Nasenbaer
こんにちはナンセボア、あなたはまだあなたが積極的なSOメンバーだと思うので、うまくいけばこれに返事を返します。私はVB.NET 2010アプリでこれをやろうとしています。 CodeNakedがあなたに指示した投稿のすべてのコードを変換しました。しかし、私は最初のFireMouseWheelサブラインの第1行に問題があります。 'Dim tilt As Int32 = DirectCast(Utils.HIWORD(wParam)、Int16)'。 'Integers'型の値を 'Utils.HIWORD(wParam)'をハイライト表示して 'Short'に変換できないというエラーを示しています。私はこの障害を乗り越えなければならないと思われますので、私が少しの指針を与えることができれば感謝します。乾杯! – Antagony