Пример #1
0
        /// <summary>
        /// 当用户点击控件焦点时显示拖动的边框
        /// </summary>
        /// <param name="pFocus"></param>
        /// <param name="pPoint"></param>
        public void DrawDragFrameByFocus(FocusHandleCTL pFocus, Point pFirst, Point pLast)
        {
            int width = pLast.X - pFirst.X, height = pLast.Y - pFirst.Y;
            int SEP = 1;

            foreach (DesignControl ctl in this)
            {
                if (ctl.IsSelected)
                {
                    Rectangle dt = new Rectangle(new Point(ctl.Left + SEP, ctl.Top + SEP), ctl.Size);
                    dt = ReSetCtlDragFrame(pFocus.FocusType, dt, width, height);
//					//在拖动的时候显示控件
//					if(dt.Left <=0) dt.Location = new Point(0,dt.Top);
//					if(dt.Top <=0) dt.Location = new Point(dt.Left ,0);
//					if(dt.Right >=_Section.Width) dt.Width = _Section.Width - dt.Left ;
//					if(dt.Bottom  >=_Section.Height)dt.Height = _Section.Height -dt.Top ;

                    Rectangle rect = _Section.RectangleToScreen(dt);
                    GDIHelper.DrawReversibleRect(rect, FrameStyle.Thick);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 当用户点击焦点拖动时候改变控件的大小
        /// </summary>
        /// <param name="pFocus"></param>
        /// <param name="pPoint"></param>
        public void MoveByDragFocus(FocusHandleCTL pFocus, Point pFirst, Point pLast)
        {
            int width = pLast.X - pFirst.X, height = pLast.Y - pFirst.Y;

            foreach (DesignControl ctl in this)
            {
                if (ctl.IsSelected)
                {
                    Rectangle dt = new Rectangle(new Point(ctl.Left, ctl.Top), ctl.Size);
                    dt = ReSetCtlDragFrame(pFocus.FocusType, dt, width, height);
//					if(dt.Left <=0) dt.Location = new Point(0,dt.Top);
//					if(dt.Top <=0) dt.Location = new Point(dt.Left ,0);
//					if(dt.Right >=_Section.Width) dt.Width = _Section.Width - dt.Left ;
//					if(dt.Bottom  >=_Section.Height)dt.Height = _Section.Height -dt.Top ;

                    DIYReport.Interface.IRptSingleObj dataObj = ctl.DataObj;
                    dataObj.BeginUpdate();
                    dataObj.Location = dt.Location;
                    dataObj.Size     = dt.Size;
                    dataObj.EndUpdate();
                }
            }
        }