override public void UnExecute() { foreach (PartitionLine line in DisSelectedLines) { TDPanel.DrawPanel.ListLine.SelectLine(line); TDPanel.DrawPanel.DrawLine(line); } foreach (PartitionLine line in SelectedLines) { TDPanel.DrawPanel.ListLine.UnSelectLine(line); CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize * TDPanel.DrawPanel.BoldPenTimes, line, TDPanel.DrawPanel.CurZoom); } foreach (Rect rect in DisSelectedRects) { rect.SelectRect(); CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } foreach (Rect rect in SelectedRects) { rect.UnSelectRect(); CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } }
override public void UnExecute() { ///处理直线 HandleUnLine(); ///处理矩形 HandleUnRect(); //刷新区域 Rectangle invalRect; if (MovedLine.IsRow) { invalRect = Utility.Draw.PointToRectangle( new Point(MovedLine.Start, FirstBorderLine.Position), new Point(MovedLine.End, SecondBorderLine.Position)); } else { invalRect = Utility.Draw.PointToRectangle( new Point(FirstBorderLine.Position, MovedLine.Start), new Point(SecondBorderLine.Position, MovedLine.End)); } CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, invalRect, TDPanel.DrawPanel.CurZoom); }
override public void UnExecute() { TDPanel.DrawPanel.ListLine.UnDeleteRectLine(this); TDPanel.DrawPanel.UnMergeSelectedRects(this); CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, BoundaryRect, TDPanel.DrawPanel.CurZoom); TDPanel.Modified = true; }
override public void UnExecute() { TDPanel.DrawPanel.ListLine.UnDeleteLine(Start, End, Position, IsRow); TDPanel.DrawPanel.DrawLine(new PartitionLine(Start, End, Position, IsRow)); TDPanel.DrawPanel.ListRect.UnDeleteLine(this); foreach (Rect rect in RemovedRects) { CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } }
public static void Invalidate(Control ctl, int pixel, Point pt1, Point pt2, float zoom) { Rectangle rect = CommonFuns.PointToRectangle(pt1, pt2); if (rect.Width == 0) { rect.Width = 1; } if (rect.Height == 0) { rect.Height = 1; } CommonFuns.Invalidate(ctl, pixel, rect, zoom); }
override public void UnExecute() { foreach (Rect rect in UnLockedRects) { rect.LockRect(); CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } foreach (PartitionLine line in UnLockedLines) { line.LockLine(); } }
/// <summary> /// 实现执行函数 /// </summary> override public void Execute() { TDPanel.DrawPanel.ListLine.DeleteLine(Start, End, Position, IsRow); CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize * TDPanel.DrawPanel.BoldPenTimes, new PartitionLine(Start, End, Position, IsRow), TDPanel.DrawPanel.CurZoom); TDPanel.DrawPanel.ListRect.DeleteLine(this); foreach (Rect rect in AddedRects) { CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } }
/// <summary> /// 实现执行函数 /// </summary> override public void Execute() { foreach (PartitionLine line in AddedLines) { TDPanel.DrawPanel.ListLine.AddLine(line.Start, line.End, line.Position, line.IsRow); TDPanel.DrawPanel.DrawLine(line); } TDPanel.DrawPanel.ListRect.AddLine(this); foreach (Rect rect in RemovedRects) { CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } }
/// <summary> /// 绘画像素标尺指示线(用于替代Invaliate,减少刷新,减少标尺闪动) /// </summary> /// <param name="g"></param> private void DrawRulerPixelLine(Graphics g) { if (CurZoom == 1) { float offset = Height; int pos = (int)StartPos + CurPos; if (CurPos % 50 == 0) { offset = 0; g.DrawLine(Pens.Black, offset, pos, Width, pos); } else if (CurPos % 25 == 0) { offset = (Width * 3) / 5; g.DrawLine(Pens.Black, offset, pos, Width, pos); } else if (CurPos % 5 == 0) { offset = (Width * 3) / 4; g.DrawLine(Pens.Black, offset, pos, Width, pos); } if (CurPos % 50 < 25) { int intPos = (CurPos / 50) * 50; string str = intPos.ToString(); offset = 0; int i = 0; foreach (char ch in str) { g.DrawString(ch.ToString(), new Font("Tahoma", 7), new SolidBrush(Color.Black), 0, intPos + (int)StartPos + i * 8); i++; } } } else { CommonFuns.Invalidate(this, 0, 0, (int)StartPos + CurPos, Width - 1, 1); } }
/// <summary> /// 实现执行函数,在执行命令前已经把_removedRects和_addedRects、_inRectLines初始化。 /// </summary> override public void Execute() { foreach (Rect rect in AddedRects) { rect.IsDeleted = false; } foreach (PartitionLine line in AddedLines) { TDPanel.DrawPanel.ListLine.AddLine(line.Start, line.End, line.Position, line.IsRow); } foreach (Rect rect in RemovedRects) { rect.IsDeleted = true; CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, rect, TDPanel.DrawPanel.CurZoom); } }
/// <summary> /// 实现执行函数 /// </summary> override public void Execute() { if (!TDPanel.DrawPanel.MergeSelectedRects(this)) { return; } TDPanel.DrawPanel.ListLine.DeleteRectLine(this); if (!IsRedo) { IsRedo = true; } CommonFuns.Invalidate(TDPanel.DrawPanel, TDPanel.DrawPanel.PenSize, BoundaryRect, TDPanel.DrawPanel.CurZoom); TDPanel.Modified = true; }
/// <summary> /// 绘画像素标尺指示线(用于替代Invaliate,减少刷新,减少标尺闪动) /// </summary> /// <param name="g"></param> private void DrawRulerPixelLine(Graphics g) { if (CurZoom == 1) { float offset = Height; int pos = (int)StartPos + CurPos; if (CurPos % 50 == 0) { offset = 0; g.DrawLine(Pens.Black, pos, offset, pos, Height); } else if (CurPos % 25 == 0) { offset = (Height * 3) / 5; g.DrawLine(Pens.Black, pos, offset, pos, Height); } else if (CurPos % 5 == 0) { offset = (Height * 3) / 4; g.DrawLine(Pens.Black, pos, offset, pos, Height); } if (CurPos % 50 < 20) { int intpos = (CurPos / 50) * 50; offset = 0; g.DrawString(intpos.ToString(), new Font("Tahoma", 7), new SolidBrush(Color.Black), intpos + +(int)StartPos, 0); } } else { CommonFuns.Invalidate(this, 0, (int)StartPos + CurPos, 0, 1, Height - 1); } }
/// <summary> /// 绘画标尺指示线:百分比的标尺先用刷新来实现,不过用的是局部刷新 /// </summary> /// <param name="g"></param> private void DrawRulerPercentLine(Graphics g) { CommonFuns.Invalidate(this, 0, (int)StartPos + CurPos, 0, 1, Height - 1); }