/// <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); } } }
/// <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(); } } }