diff options
Diffstat (limited to 'Histacom2.Engine/UI')
| -rw-r--r-- | Histacom2.Engine/UI/ClassicButton.cs | 22 | ||||
| -rw-r--r-- | Histacom2.Engine/UI/ClassicStartMenuItem.cs | 57 | ||||
| -rw-r--r-- | Histacom2.Engine/UI/IProgressBar.cs | 2 |
3 files changed, 74 insertions, 7 deletions
diff --git a/Histacom2.Engine/UI/ClassicButton.cs b/Histacom2.Engine/UI/ClassicButton.cs index 1a77964..9b1db72 100644 --- a/Histacom2.Engine/UI/ClassicButton.cs +++ b/Histacom2.Engine/UI/ClassicButton.cs @@ -28,19 +28,17 @@ namespace Histacom2.Engine.UI } } + public bool AdaptForeColorWithTheme = true; + public bool AdaptFontWithTheme = true; + public ClassicButton() : base() { + if (SaveSystem.currentTheme != null) BackColor = SaveSystem.currentTheme.threeDObjectsColor; else BackColor = Color.Silver; _lightBack = ControlPaint.Light(BackColor, 50); _darkBack = ControlPaint.Dark(BackColor, 50); - if (SaveSystem.currentTheme != null) ForeColor = SaveSystem.currentTheme.threeDObjectsTextColor; - else ForeColor = Color.Black; - - if (SaveSystem.currentTheme != null) Font = SaveSystem.currentTheme.buttonFont; - else Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular); - MouseDown += (s, e) => { _pressing = true; Invalidate(); }; MouseUp += (s, e) => { _pressing = false; Invalidate(); }; Invalidate(); @@ -53,6 +51,18 @@ namespace Histacom2.Engine.UI if (SaveSystem.currentTheme != null) BackColor = SaveSystem.currentTheme.threeDObjectsColor; else BackColor = Color.Silver; + if (AdaptForeColorWithTheme) + { + if (SaveSystem.currentTheme != null) ForeColor = SaveSystem.currentTheme.threeDObjectsTextColor; + else ForeColor = Color.Black; + } + + if (AdaptFontWithTheme) + { + if (SaveSystem.currentTheme != null) Font = SaveSystem.currentTheme.buttonFont; + else Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular); + } + _lightBack = Paintbrush.GetLightFromColor(BackColor); _darkBack = Paintbrush.GetDarkFromColor(BackColor); diff --git a/Histacom2.Engine/UI/ClassicStartMenuItem.cs b/Histacom2.Engine/UI/ClassicStartMenuItem.cs new file mode 100644 index 0000000..49aecd9 --- /dev/null +++ b/Histacom2.Engine/UI/ClassicStartMenuItem.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Histacom2.Engine.UI +{ + public class ClassicStartMenuItem : ToolStripMenuItem + { + public ClassicStartMenuItem() + { + + } + + protected override void OnPaint(PaintEventArgs e) + { + base.OnPaint(e); + if (SaveSystem.currentTheme != null) e.Graphics.Clear(SaveSystem.currentTheme.threeDObjectsColor); + else e.Graphics.Clear(BackColor); + if (Selected) + { + if (SaveSystem.currentTheme != null) e.Graphics.Clear(SaveSystem.currentTheme.selectedBackColor); + else e.Graphics.Clear(Color.Navy); + } + + e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; + + StringFormat sf = new StringFormat(); + sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.Show; + + e.Graphics.DrawImage(Image, 0 + Padding.Left - Padding.Right, 0); + if (!Selected) { + e.Graphics.DrawString(Text, new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular), Brushes.Black, 38, 11, sf); + + if (DropDownItems.Count > 0) + { + e.Graphics.DrawPolygon(Pens.Black, new Point[] { new Point(121, 11), new Point(124, 14), new Point(121, 17) }); + e.Graphics.FillPolygon(Brushes.Black, new Point[] { new Point(121, 11), new Point(124, 14), new Point(121, 17) }); + } + } else + { + if (SaveSystem.currentTheme != null) + { + e.Graphics.DrawString(Text, new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular), new SolidBrush(SaveSystem.currentTheme.selectedTextColor), 38, 11, sf); + if (DropDownItems.Count > 0) + { + e.Graphics.DrawPolygon(new Pen(SaveSystem.currentTheme.selectedTextColor), new Point[] { new Point(121, 11), new Point(124, 14), new Point(121, 17) }); + e.Graphics.FillPolygon(new SolidBrush(SaveSystem.currentTheme.selectedTextColor), new Point[] { new Point(121, 11), new Point(124, 14), new Point(121, 17) }); + } + } + } + } + } +} diff --git a/Histacom2.Engine/UI/IProgressBar.cs b/Histacom2.Engine/UI/IProgressBar.cs index 071da18..2cd916d 100644 --- a/Histacom2.Engine/UI/IProgressBar.cs +++ b/Histacom2.Engine/UI/IProgressBar.cs @@ -6,7 +6,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -namespace Histacom2.UI +namespace Histacom2.Engine.UI { public class ProgressBar : Control { |
