Exemplo n.º 1
0
        public void TranslateMouseEvent(LowLevelMouseMessage Message)
        {
            // Store which mouse event occured
            MouseEvent = (MouseEvents)Message.Message;

            // Define new MouseMessageEventArgs to get handled state
            MouseMessageEventArgs args = null;

            switch (MouseEvent)
            {
                case MouseEvents.LeftButtonDown:
                    args = new MouseMessageEventArgs(MouseButtons.Left, 1, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseDown(args);

                    break;
                case MouseEvents.LeftButtonUp:
                    args = new MouseMessageEventArgs(MouseButtons.Left, 1, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseUp(args);

                    break;
                case MouseEvents.RightButtonDown:
                    args = new MouseMessageEventArgs(MouseButtons.Right, 1, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseDown(args);

                    break;
                case MouseEvents.RightButtonUp:
                    args = new MouseMessageEventArgs(MouseButtons.Right, 1, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseUp(args);

                    break;
                case MouseEvents.MiddleButtonDown:
                    args = new MouseMessageEventArgs(MouseButtons.Middle, 1, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseDown(args);

                    break;
                case MouseEvents.MiddleButtonUp:
                    args = new MouseMessageEventArgs(MouseButtons.Middle, 1, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseUp(args);

                    break;
                case MouseEvents.Move:
                    args = new MouseMessageEventArgs(MouseButtons.None, 0, Message.Point.X, Message.Point.Y, 0, Message);
                    OnMouseMove(args);

                    break;
                default:
                    args = new MouseMessageEventArgs(MouseButtons.None, 0, 0, 0, 0, Message);	// Catch additional buttons

                    break;
            }

            // Set handled property of class to MouseMessageEventArgs handled flag to notify the main mouse intercept that one of the events handled it
            this.Handled = args.Handled;
        }
Exemplo n.º 2
0
 public MouseMessageEventArgs(MouseButtons button, int clicks, int x, int y, int delta, LowLevelMouseMessage Message)
     : base(button, clicks, x, y, delta)
 {
     this.MouseMessage = Message;
 }
Exemplo n.º 3
0
        private static bool TestResizeMouseState(LowLevelMouseMessage mevt)
        {
            MouseButtons mouseButton = MouseButtons.None;
            switch ((MouseState)mevt.Message)
            {
                case MouseState.WM_LBUTTONDOWN:
                case MouseState.WM_LBUTTONUP:
                    mouseButton = MouseButtons.Left;
                    break;
                case MouseState.WM_MBUTTONDOWN:
                case MouseState.WM_MBUTTONUP:
                    mouseButton = MouseButtons.Middle;
                    break;
                case MouseState.WM_RBUTTONDOWN:
                case MouseState.WM_RBUTTONUP:
                    mouseButton = MouseButtons.Right;
                    break;
            }

            return (OptionsManager.ResizeOptions.mouseButton == mouseButton);
        }
Exemplo n.º 4
0
        protected void MouseEventTranslator_MouseDown(object sender, MouseMessageEventArgs e)
        {
            // Disregard all but capture button events
            if (e.Button != MouseButtons.Right)
                return;

            // Can we begin a new gesture capture
            if (State == CaptureState.Ready)
            {
                Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High;

                // Store original mouse message
                _OriginalMessage = e.MouseMessage;

                // Try to begin capture process, if capture started then don't notify other applications of a mouse event, otherwise do
                e.Handled = TryBeginCapture(e.Location);

                if (!e.Handled)
                    Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.Normal;
            }
        }