//============================================================ // <T>点击按钮事件处理。</T> //============================================================ private void btnBorder_Click(object sender, EventArgs e) { QUiBorderPropertyForm.Instance.Border = _resource; QUiBorderPropertyForm.Instance.LoadBorder(); QUiBorderPropertyForm.Instance.Show(); _resource = QUiBorderPropertyForm.Instance.Border; }
//============================================================ // <T>绘制边框。</T> // // @param border 边框描述 //============================================================ public void DrawBorder(SIntRectangle rectangle, FRcBorder border) { }
//============================================================ // <T>加载资源。</T> // // @param resource 资源 //============================================================ public void LoadResource(FRcBorder resource) { _resource = resource; // 设置属性 txtBorder.Text = resource.ToString(); }
//============================================================ // <T>绘制边框。</T> // // @param border 边框描述 //============================================================ public void DrawBorder(FRcBorder innerBorder, FRcBorder outerBorder) { int outerLeft = outerBorder.Left.Width; int outerTop = outerBorder.Top.Width; int outerRight = outerBorder.Right.Width; int outerBottom = outerBorder.Bottom.Width; int innerLeft = innerBorder.Left.Width; int innerTop = innerBorder.Top.Width; int innerRight = innerBorder.Right.Width; int innerBottom = innerBorder.Bottom.Width; // 外左边框 if (0 < outerLeft) { FUiColor borderColor = _context.BuildDesignColor(outerBorder.Left.Color); _context.Context.DrawLine(borderColor.brush, 0, 0, 0, ControlResource.Size.Height, outerLeft); } // 内左边框 if (0 < innerLeft) { float x1 = outerLeft / 2 + innerLeft / 2 + innerLeft % 2; float y1 = outerTop / 2; float x2 = outerLeft / 2 + innerLeft / 2 + innerLeft % 2; float y2 = ControlResource.Size.Height - outerBottom / 2; FUiColor borderColor = _context.BuildDesignColor(innerBorder.Left.Color); _context.Context.DrawLine(borderColor.brush, x1, y1, x2, y2, innerLeft); } // 外上边框 if (0 < outerTop) { FUiColor borderColor = _context.BuildDesignColor(outerBorder.Top.Color); _context.Context.DrawLine(borderColor.brush, 0, 0, ControlResource.Size.Width, 0, outerTop); } // 内上边框 if (0 < innerTop) { float x1 = outerLeft / 2; float y1 = outerTop / 2 + innerTop / 2 + innerTop % 2; float x2 = ControlResource.Size.Width - (outerRight / 2 + outerRight % 2); float y2 = outerTop / 2 + innerTop / 2 + innerTop % 2; FUiColor borderColor = _context.BuildDesignColor(innerBorder.Top.Color); _context.Context.DrawLine(borderColor.brush, x1, y1, x2, y2, innerLeft); } // 外右边框 if (0 < outerRight) { FUiColor borderColor = _context.BuildDesignColor(outerBorder.Right.Color); _context.Context.DrawLine(borderColor.brush, ControlResource.Size.Width, 0, ControlResource.Size.Width, ControlResource.Size.Height, outerRight); } // 内右边框 if (0 < innerRight) { float x1 = ControlResource.Size.Width - (outerRight / 2 + outerRight % 2 + innerRight / 2); float y1 = outerTop / 2; float x2 = ControlResource.Size.Width - (outerRight / 2 + outerRight % 2 + innerRight / 2); float y2 = ControlResource.Size.Height - (outerBottom / 2 + outerBottom % 2); FUiColor borderColor = _context.BuildDesignColor(innerBorder.Right.Color); _context.Context.DrawLine(borderColor.brush, x1, y1, x2, y2, innerLeft); } // 外下边框 if (0 < outerBottom) { FUiColor borderColor = _context.BuildDesignColor(outerBorder.Bottom.Color); _context.Context.DrawLine(borderColor.brush, 0, ControlResource.Size.Height, ControlResource.Size.Width, ControlResource.Size.Height, outerBottom); } // 内下边框 if (0 < innerBottom) { float x1 = outerLeft / 2; float y1 = ControlResource.Size.Height - (outerBottom / 2 + outerBottom % 2 + innerBottom / 2); float x2 = ControlResource.Size.Width - (outerRight / 2 + outerRight % 2); float y2 = ControlResource.Size.Height - (outerBottom / 2 + outerBottom % 2 + innerBottom / 2); FUiColor borderColor = _context.BuildDesignColor(innerBorder.Bottom.Color); _context.Context.DrawLine(borderColor.brush, x1, y1, x2, y2, innerLeft); } }