/// <summary> /// 左键点击绘制区时调用 /// 激活指定绘图对象 /// </summary> /// <param name="regionForm"></param> /// <param name="o"></param> protected void ChangeObject(RegionForm regionForm, DrawRectangle o) { regionForm.DrawRectangle = o; regionForm.Capture = true; regionForm.Refresh(); }
/// <summary> /// ������������ʱ���� /// ����ָ����ͼ���� /// </summary> /// <param name="regionForm"></param> /// <param name="o"></param> protected void ChangeObject(RegionForm regionForm, DrawRectangle o) { regionForm.DrawRectangle = o; regionForm.Capture = true; regionForm.Refresh(); }
/// <summary> /// 绘制矩形 /// </summary> /// <param name="g"></param> public virtual void Draw(Graphics g) { Pen pen = new Pen(Color.Black); g.DrawRectangle(pen, DrawRectangle.GetNormalizedRectangle(Rectangle)); DrawTracker(g); pen.Dispose(); }
/// <summary> /// 释放鼠标右键 /// </summary> /// <param name="regionForm"></param> /// <param name="e"></param> public override void OnMouseUp(RegionForm regionForm, MouseEventArgs e) { if (resizedObject != null) { // after resizing resizedObject.Normalize(); resizedObject = null; } regionForm.Capture = false; regionForm.Refresh(); }
/// <summary> /// 按下鼠标左键 /// </summary> /// <param name="regionForm"></param> /// <param name="e"></param> public override void OnMouseDown(RegionForm regionForm, MouseEventArgs e) { wasMove = false; selectMode = SelectionMode.None; Point point = new Point(e.X, e.Y); int handleNumber = regionForm.DrawRectangle.HitTest(point); if (handleNumber > 0) { selectMode = SelectionMode.Size; resizedObject = regionForm.DrawRectangle; resizedObjectHandle = handleNumber; } if (selectMode == SelectionMode.None) { DrawRectangle o = null; if (regionForm.DrawRectangle.HitTest(point) == 0) { o = regionForm.DrawRectangle; } if (o != null) { selectMode = SelectionMode.Move; regionForm.Cursor = Cursors.SizeAll; } } lastPoint.X = e.X; lastPoint.Y = e.Y; startPoint.X = e.X; startPoint.Y = e.Y; regionForm.Capture = true; regionForm.Refresh(); }
/// <summary> /// ���������� /// </summary> /// <param name="regionForm"></param> /// <param name="e"></param> public override void OnMouseDown(RegionForm regionForm, MouseEventArgs e) { wasMove = false; selectMode = SelectionMode.None; Point point = new Point(e.X, e.Y); int handleNumber = regionForm.DrawRectangle.HitTest(point); if (handleNumber > 0) { selectMode = SelectionMode.Size; resizedObject = regionForm.DrawRectangle; resizedObjectHandle = handleNumber; } if (selectMode == SelectionMode.None) { DrawRectangle o = null; if (regionForm.DrawRectangle.HitTest(point) == 0) { o = regionForm.DrawRectangle; } if (o != null) { selectMode = SelectionMode.Move; regionForm.Cursor = Cursors.SizeAll; } } lastPoint.X = e.X; lastPoint.Y = e.Y; startPoint.X = e.X; startPoint.Y = e.Y; regionForm.Capture = true; regionForm.Refresh(); }
/// <summary> /// �ͷ�����Ҽ� /// </summary> /// <param name="regionForm"></param> /// <param name="e"></param> public override void OnMouseUp(RegionForm regionForm, MouseEventArgs e) { if (resizedObject != null) { // after resizing resizedObject.Normalize(); resizedObject = null; } regionForm.Capture = false; regionForm.Refresh(); }
/// <summary> /// 规格化矩形,在对象改变大小的之后调用 /// </summary> public virtual void Normalize() { rectangle = DrawRectangle.GetNormalizedRectangle(rectangle); }