Beispiel #1
0
 public override void OnMouseDown(DrawArea drawArea, MouseEventArgs e)
 {
     try
     {
         meClick = true;
         Point point = new Point(e.X, e.Y);
         sizeableCor = corner.non;
         sizeableCor = GetSizableCor(point);
         //if (HitTest(point) == 0 || HitTest(point) == -1)
         //{
         move = true;
         //  cheked = true;
         Select = true;
         //}
         oldPoint = point;
         drawArea.Refresh();
     }
     catch { }
 }
Beispiel #2
0
        public override void OnMouseMove(DrawArea drawArea, MouseEventArgs e)
        {
            try
            {
                chengCurser(drawArea, new Point(e.X, e.Y));
                if (meClick == false)
                {
                    return;
                }
                int bacWidth  = Width;
                int bacHeight = Height;
                int bacX      = X;
                int bacY      = Y;
                switch (sizeableCor)
                {
                case corner.upLeft:
                    X      += e.X - oldPoint.X;
                    Y      += e.Y - oldPoint.Y;
                    Width  -= e.X - oldPoint.X;
                    Height -= e.Y - oldPoint.Y;
                    break;

                case corner.upRight:
                    Y      += e.Y - oldPoint.Y;
                    Width  += e.X - oldPoint.X;
                    Height -= e.Y - oldPoint.Y;
                    break;

                case corner.upMidell:
                    Y      += e.Y - oldPoint.Y;
                    Height -= e.Y - oldPoint.Y;
                    break;

                case corner.downLeft:
                    X      += e.X - oldPoint.X;
                    Width  -= e.X - oldPoint.X;
                    Height += e.Y - oldPoint.Y;
                    break;

                case corner.downRight:
                    Width  += e.X - oldPoint.X;
                    Height += e.Y - oldPoint.Y;
                    break;

                case corner.downMidell:
                    Height += e.Y - oldPoint.Y;
                    break;

                case corner.midellRight:
                    Width += e.X - oldPoint.X;
                    break;

                case corner.midellLeft:
                    X     += e.X - oldPoint.X;
                    Width -= e.X - oldPoint.X;
                    break;

                default:
                    if (move)
                    {
                        int dx = e.X - oldPoint.X;
                        int dy = e.Y - oldPoint.Y;
                        MoveRect(dx, dy);
                    }
                    break;
                }


                if (Width < 5 || Height < 5)
                {
                    Width  = bacWidth;
                    Height = bacHeight;
                    X      = bacX;
                    Y      = bacY;
                }
                oldPoint.X = e.X;
                oldPoint.Y = e.Y;
                drawArea.Refresh();
            }
            catch { }
        }