コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: ObjectManager.cs プロジェクト: Bulletz4mysa/NBTrade
        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;
        }