protected virtual void RaiseHwndMouseLClick(HwndMouseEventArgs args)
        {
            var handler = MouseLClick;

            if (handler != null)
            {
                handler(this, args);
            }
        }
        // Handle mouse movement.
        private void BarGraphHostControl_MouseMoved(object sender, HwndMouseEventArgs e)
        {
            // Adjust light position.
            if (currentGraph != null)
            {
                Point adjustedTopLeft = GetControlPointInDIP();

                // Get point relative to control.
                Point relativePoint = new Point(e.point.X - adjustedTopLeft.X, e.point.Y - adjustedTopLeft.Y);

                // Update light position.
                currentGraph.UpdateLight(relativePoint);
            }
        }
Ejemplo n.º 3
0
        private void HostControl_MouseMoved(object sender, HwndMouseEventArgs e)
        {
            // Adjust light position.
            if (currentGraph != null)
            {
                // Convert mouse position to DIP (is raised in physical pixels).
                var posDip = GetPointInDIP(e.point);

                var adjustedTopLeft = GetControlPointInDIP(CompositionHostElement);

                // Get point relative to control.
                var relativePoint = new SysWin.Point(posDip.X - adjustedTopLeft.X, posDip.Y - adjustedTopLeft.Y);

                // Update light position.
                currentGraph.UpdateLight(relativePoint);
            }
        }
        protected override IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            switch ((User32.WM)msg)
            {
            case User32.WM.WM_MOUSEMOVE:
                var pos = PointToScreen(new Point((short)(((int)lParam) & 0xffff), (short)(((int)lParam) >> 16)));
                var hwndMouseEventArgs = new HwndMouseEventArgs();
                hwndMouseEventArgs.Point = pos;
                RaiseHwndMouseMove(hwndMouseEventArgs);
                break;

            case User32.WM.WM_LBUTTONDOWN:
                RaiseHwndMouseLClick(new HwndMouseEventArgs());
                break;

            case User32.WM.WM_PAINT:
                RaisePaint();
                break;
            }

            return(base.WndProc(hwnd, msg, wParam, lParam, ref handled));
        }
Ejemplo n.º 5
0
 protected virtual void RaiseHwndMouseLClick(HwndMouseEventArgs args)
 {
     MouseLClick?.Invoke(this, args);
 }
Ejemplo n.º 6
0
 protected virtual void RaiseHwndMouseMove(HwndMouseEventArgs args)
 {
     MouseMoved?.Invoke(this, args);
 }
 private void RaiseHwndMouseLClick(HwndMouseEventArgs args)
 {
     MouseLClick?.Invoke(this, args);
 }
 private void RaiseHwndMouseMove(HwndMouseEventArgs args)
 {
     MouseMoved?.Invoke(this, args);
 }