VSoft/Source/VSoft_Dll/Prams/GlobalMouseHandler.cs

38 lines
1.2 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace VSoft.Prams
{
public delegate void MouseMovedEvent();
public delegate void MouseMDownEvent();
public delegate void MouseMUpEvent();
public class GlobalMouseHandler : IMessageFilter
{
private const int WM_MOUSEMOVE = 0x0200;
private const int WM_MBUTTONDOWN = 0x0207;
private const int WM_MBUTTONUP = 0x0208;
public event MouseMovedEvent TheMouseMoved;
public event MouseMDownEvent TheMouseMDown;
public event MouseMUpEvent TheMouseMUp;
#region IMessageFilter Members
public bool PreFilterMessage(ref Message m)
{
if (m.Msg == WM_MOUSEMOVE)
if (TheMouseMoved != null)
TheMouseMoved();
if (m.Msg == WM_MBUTTONDOWN)
if (TheMouseMDown != null)
TheMouseMDown();
if (m.Msg == WM_MBUTTONUP)
if (TheMouseMUp != null)
TheMouseMUp();
// Always allow message to continue to the next filter control
return false;
}
#endregion
}
}