private void DesignerControl_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { Changed = true; FormulaArea fa = null; StartPoint = GetValueFromPos(e.X, e.Y, ref fa); BaseObject bo; SaveChartControlSetting(); if (ObjectType == null) { SelectedObject = null; if (e.Button == MouseButtons.Left) { int PointIndex = GetPointIndex(e.X, e.Y, out bo); if (bo == null) { bo = GetObjectAt(e.X, e.Y); } if (bo != null) { SelectedObject = bo; DragObject = new ObjectDragging(new PointF(e.X, e.Y), PointIndex, bo); Invalidate(bo.GetRegion()); bo.InMove = true; } } } else { if (e.Button == MouseButtons.Right) { if (DragObject != null) { objects.Remove(DragObject.Object); } DragObjectFinished(); } else { if (ObjectSteps == 0) { bo = ObjectType.Invoke(); bo.AreaName = fa.Name; bo.Area = fa; bo.InSetup = true; bo.InMove = true; if (AfterCreateStart != null) { AfterCreateStart(this, bo); } //ob.SetObjectManager(this); for (int i = 0; i < bo.ControlPointNum; i++) { bo.ControlPoints[i] = StartPoint; } AddObject(bo); //objects.Add(ob); SelectedObject = bo; DragObject = new ObjectDragging(new PointF(e.X, e.Y), ObjectSteps + bo.InitNum > 1?1:0, bo); } } } DragMemBmp = null; }
private void DesignerControl_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { FormulaArea fa = null; StartPoint = GetValueFromPos(e.X, e.Y, ref fa); ObjectBase ob; if (Designer is ChartWinControl) { SavedShowCrossCursor = (Designer as ChartWinControl).ShowCrossCursor; SavedShowStatistic = (Designer as ChartWinControl).ShowStatistic; (Designer as ChartWinControl).ShowCrossCursor = false; (Designer as ChartWinControl).ShowStatistic = false; } if (ObjectType == null) { int PointIndex = GetPointIndex(e.X, e.Y, out ob); if (ob == null) { ob = GetObjectAt(e.X, e.Y); } if (ob != null) { SelectedObject = ob; DragObject = new DraggingObject(new PointF(e.X, e.Y), PointIndex, ob); Designer.Invalidate(ob.GetRegion()); Canvas.Dragging = true; ob.InMove = true; } } else { if (e.Button == MouseButtons.Right) { objects.Remove(DragObject.Object); DragObjectFinished(); } else { if (ObjectSteps == 0) { ob = ObjectType.Invoke(); ob.AreaName = fa.Name; ob.Area = fa; ob.InSetup = true; ob.InMove = true; if (AfterCreate != null) { AfterCreate(this, ob); } ob.SetObjectManager(this); for (int i = 0; i < ob.ControlPointNum; i++) { ob.ControlPoints[i] = StartPoint; } objects.Add(ob); SelectedObject = ob; DragObject = new DraggingObject(new PointF(e.X, e.Y), ObjectSteps + 1, ob); Canvas.Dragging = true; } else { ob = DragObject.Object; DragObject.ControlPointIndex = ObjectSteps + 1; } ObjectSteps++; if (ObjectSteps == ob.InitNum) { DragObjectFinished(); } } } DragMemBmp = null; }