예제 #1
0
        //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);
        }
예제 #2
0
        /// <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);
            }
        }
예제 #3
0
        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);
                }
            }
        }