#region Imports using DPumpHydr.WinFrmUI.RLT.Util; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; #endregion namespace DPumpHydr.WinFrmUI.RLT.Forms { #region MoonForm public class MoonForm : MoonLibrary { private Color G1; private Color G2; private Color BG; private Color _TitleColor = Color.Black; public Color TitleColor { get => _TitleColor; set { _TitleColor = value; Invalidate(); } } private Color _BorderColor = Color.LightGray; public Color BorderColor { get => _BorderColor; set { _BorderColor = value; Invalidate(); } } private Color _FirstEdge = Color.LightGray; public Color FirstEdge { get => _FirstEdge; set { _FirstEdge = value; Invalidate(); } } private Color _SecondEdge = Color.White; public Color SecondEdge { get => _SecondEdge; set { _SecondEdge = value; Invalidate(); } } public MoonForm() { TransparencyKey = Color.Fuchsia; SetColor("G1", Color.White); SetColor("G2", Color.LightGray); SetColor("BG", Color.FromArgb(240, 240, 240)); StartPosition = FormStartPosition.CenterScreen; Padding = new Padding(0, 0, 0, 0); Font = new("Segoe UI", 9); ForeColor = Color.Gray; TitleColor = _TitleColor; MinimumSize = new(100, 50); } protected override void ColorHook() { G1 = GetColor("G1"); G2 = GetColor("G2"); BG = GetColor("BG"); } protected override void PaintHook() { G.Clear(BG); LinearGradientBrush LGB = new(new Rectangle(new Point(1, 1), new Size(Width - 2, 23)), G1, G2, 90f); G.FillRectangle(LGB, new Rectangle(new Point(1, 1), new Size(Width - 2, 23))); G.DrawLine(new(new SolidBrush(FirstEdge)), 1, 25, Width - 2, 25); G.DrawLine(new(new SolidBrush(SecondEdge)), 1, 26, Width - 2, 26); DrawCorners(TransparencyKey); DrawBorders(new(new SolidBrush(BorderColor)), 1); Rectangle IconRec = new(3, 3, 20, 20); G.DrawIcon(ParentForm.Icon, IconRec); G.DrawString(ParentForm.Text, Font, new SolidBrush(TitleColor), new Point(25, 5)); } } #endregion }