17 using System.Windows.Forms;
19 namespace sage.ew.formul.ButtonTittle.Themes
21 internal class Aero10 : ThemeBase
23 private Size maxFrameBorder = Size.Empty;
24 private Size minFrameBorder = Size.Empty;
25 private FormBorderStyle _oBordeStyleAplicado = FormBorderStyle.None;
27 public Aero10(Form form)
34 get {
return Color.Transparent; }
37 public override Size ControlBoxSize
41 if (base.controlBoxSize == Size.Empty)
47 base.controlBoxSize =
new Size(SystemButtonSize.Width, SystemButtonSize.Height);
51 base.controlBoxSize =
new Size(1, 0);
56 if (!form.MaximizeBox && !form.MinimizeBox && form.ControlBox)
60 base.controlBoxSize =
new Size((2 * SystemButtonSize.Width) + 7, SystemButtonSize.Height);
64 base.controlBoxSize =
new Size((1 * SystemButtonSize.Width) + 13, SystemButtonSize.Height);
70 index = (form.ControlBox) ? 3 : 0;
71 base.controlBoxSize =
new Size(index * SystemButtonSize.Width, SystemButtonSize.Height);
75 return base.controlBoxSize;
79 public override Point ButtonOffset
83 if (base.buttonOffset == Point.Empty)
87 base.buttonOffset =
new Point(0, 0);
91 base.buttonOffset =
new Point(0, -2);
94 return base.buttonOffset;
98 public override Size FrameBorder
102 if (form.WindowState == FormWindowState.Maximized)
104 if (maxFrameBorder == Size.Empty)
106 _oBordeStyleAplicado = form.FormBorderStyle;
107 switch (form.FormBorderStyle)
109 case FormBorderStyle.FixedToolWindow:
110 maxFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width - 8, -1);
112 case FormBorderStyle.SizableToolWindow:
113 maxFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width - 3, 4);
115 case FormBorderStyle.Sizable:
116 maxFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width + 2, 7);
119 maxFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width - 3, 2);
123 return maxFrameBorder;
127 if (minFrameBorder == Size.Empty)
129 _oBordeStyleAplicado = form.FormBorderStyle;
130 switch (form.FormBorderStyle)
132 case FormBorderStyle.FixedToolWindow:
133 minFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width - 8, -1);
135 case FormBorderStyle.SizableToolWindow:
136 minFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width - 3, 4);
138 case FormBorderStyle.Sizable:
139 minFrameBorder =
new Size(SystemInformation.FrameBorderSize.Width +4, 1);
141 case FormBorderStyle.Fixed3D:
142 minFrameBorder =
new Size(SystemInformation.Border3DSize.Width, -4);
144 case FormBorderStyle.FixedSingle:
145 minFrameBorder =
new Size(SystemInformation.Border3DSize.Width - 2, 1);
148 minFrameBorder =
new Size(SystemInformation.Border3DSize.Width - 1, -4);
152 return minFrameBorder;
157 public override Size SystemButtonSize
161 if (base.systemButtonSize == Size.Empty)
165 Size size = SystemInformation.SmallCaptionButtonSize;
168 base.systemButtonSize = size;
172 Size size = SystemInformation.CaptionButtonSize;
175 base.systemButtonSize = size;
178 return base.systemButtonSize;