//protected bool bolEnableDragMove = true; ///// <summary> ///// 是否允许鼠标拖拽移动图片 ///// </summary> //public bool EnableDragMode //{ // get // { // return bolEnableDragMove ; // } // set // { // bolEnableDragMove = value; // if( value == false ) // myDragPoint = null; // } //} private ReversibleDrawer CreateReversibleDrawer() { ReversibleDrawer drawer = ReversibleDrawer.FromHwnd(this.Handle); drawer.PenColor = Color.White; drawer.PenStyle = PenStyle.PS_SOLID; drawer.LineWidth = 1; return(drawer); }
/// <summary> /// 使用视图坐标绘制一个可逆矩形边框 /// </summary> /// <param name="left">矩形的左端位置</param> /// <param name="top">矩形的顶端位置</param> /// <param name="width">矩形的宽度</param> /// <param name="height">矩形的高度</param> public void ReversibleViewDrawRect( int left, int top, int width, int height) { //throw new NotImplementedException("documentviewcontrol:ReversibleViewDrawRect"); using (ReversibleDrawer drawer = ReversibleDrawer.FromHwnd(this.Handle)) { drawer.PenStyle = PenStyle.PS_DOT; drawer.PenColor = System.Drawing.Color.Red; this.RefreshScaleTransform(); System.Drawing.Rectangle rect = this.myTransform.UnTransformRectangle(left, top, width, height); drawer.DrawRectangle(rect); } }
private void cap_Draw(object sender, CaptureMouseMoveEventArgs e) { DragPointStyle hit = (DragPointStyle)e.Sender.Tag; System.Drawing.Rectangle rect = Rectangle.Ceiling(this.AbsBounds); System.Drawing.Point p1 = e.StartPosition; System.Drawing.Point p2 = e.CurrentPosition; SimpleRectangleTransform trans = this.OwnerDocument.EditorControl.GetTransformItemByDescPoint(rect.Left, rect.Top); if (trans != null) { p1 = trans.TransformPoint(p1); p2 = trans.TransformPoint(p2); rect = DragRectangle.CalcuteDragRectangle( (int)(p2.X - p1.X), (int)(p2.Y - p1.Y), hit, Rectangle.Ceiling(this.AbsBounds)); if (rect.Width > (int)this.OwnerDocument.Width) { rect.Width = (int)this.OwnerDocument.Width; } if (this.WidthHeightRate > 0.1) { rect.Height = (int)(rect.Width / this.WidthHeightRate); } LastDragBounds = rect; rect = trans.UnTransformRectangle(rect); using (ReversibleDrawer drawer = ReversibleDrawer.FromHwnd(this.OwnerDocument.EditorControl.Handle)) { drawer.PenStyle = PenStyle.PS_DOT; drawer.PenColor = System.Drawing.Color.Red; drawer.DrawRectangle(rect); } } }