2019/11/07(Thu) 10:45:05 編集(投稿者)
2019/11/07(Thu) 10:44:39 編集(投稿者)
■No92887 (yapoo さん) に返信
> 一つ一つコントロール毎に、
> マウスクリックイベントとホイールイベントを書いていくのは
> 非常に面倒なので
> 一括で書きたいのですが
> どのようにすれば良いでしょうか?
メッセージフィルタを登録してマウスに関するメッセージを無視することができます。
Private Class MouseMessageFilter
Implements IMessageFilter
Const WM_MOUSEFIRST As Integer = &H200
Const WM_MOUSELAST As Integer = &H20E
Public Function PreFilterMessage(ByRef m As System.Windows.Forms.Message) As Boolean _
Implements IMessageFilter.PreFilterMessage
Select Case m.Msg
Case WM_MOUSEFIRST To WM_MOUSELAST
Return True
Case Else
Return False
End Select
End Function
End Class
Dim mouseFilter As New MouseMessageFilter()
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Application.AddMessageFilter(mouseFilter)
Me.Cursor = Cursors.WaitCursor
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Application.RemoveMessageFilter(mouseFilter)
Me.Cursor = Cursors.Default
End Sub