diff options
Diffstat (limited to 'Histacom2.Engine')
| -rw-r--r-- | Histacom2.Engine/Histacom2.Engine.csproj | 8 | ||||
| -rw-r--r-- | Histacom2.Engine/Paintbrush.cs | 15 | ||||
| -rw-r--r-- | Histacom2.Engine/Template/Infobox95.Designer.cs | 72 | ||||
| -rw-r--r-- | Histacom2.Engine/Template/Infobox95.cs | 11 | ||||
| -rw-r--r-- | Histacom2.Engine/Template/WinClassic.Designer.cs | 9 | ||||
| -rw-r--r-- | Histacom2.Engine/Template/WinClassic.cs | 101 | ||||
| -rw-r--r-- | Histacom2.Engine/Template/WinClassic.resx | 22 | ||||
| -rw-r--r-- | Histacom2.Engine/Theme.cs | 30 | ||||
| -rw-r--r-- | Histacom2.Engine/UI/ClassicButton.Designer.cs | 91 | ||||
| -rw-r--r-- | Histacom2.Engine/UI/ClassicButton.cs | 86 | ||||
| -rw-r--r-- | Histacom2.Engine/UI/ClassicButton.resx | 123 | ||||
| -rw-r--r-- | Histacom2.Engine/WindowManager.cs | 1 |
12 files changed, 263 insertions, 306 deletions
diff --git a/Histacom2.Engine/Histacom2.Engine.csproj b/Histacom2.Engine/Histacom2.Engine.csproj index fb64648..9b186d8 100644 --- a/Histacom2.Engine/Histacom2.Engine.csproj +++ b/Histacom2.Engine/Histacom2.Engine.csproj @@ -92,10 +92,7 @@ </Compile> <Compile Include="Theme.cs" /> <Compile Include="UI\ClassicButton.cs"> - <SubType>UserControl</SubType> - </Compile> - <Compile Include="UI\ClassicButton.Designer.cs"> - <DependentUpon>ClassicButton.cs</DependentUpon> + <SubType>Component</SubType> </Compile> <Compile Include="UI\IProgressBar.cs"> <SubType>Component</SubType> @@ -132,9 +129,6 @@ <EmbeddedResource Include="Template\WinXP.resx"> <DependentUpon>WinXP.cs</DependentUpon> </EmbeddedResource> - <EmbeddedResource Include="UI\ClassicButton.resx"> - <DependentUpon>ClassicButton.cs</DependentUpon> - </EmbeddedResource> </ItemGroup> <ItemGroup> <Content Include="Resources\chord.wav" /> diff --git a/Histacom2.Engine/Paintbrush.cs b/Histacom2.Engine/Paintbrush.cs index 320b80d..4424371 100644 --- a/Histacom2.Engine/Paintbrush.cs +++ b/Histacom2.Engine/Paintbrush.cs @@ -45,5 +45,20 @@ namespace Histacom2.Engine // Draw the line. e.Graphics.DrawLine(new Pen(foreColor), 4, height / 2, width - 4, height / 2); } + + public static Color GetLightFromColor(Color basecolor) + { + if (basecolor == Color.Silver) return Color.White; + if (basecolor == Color.FromArgb(112, 112, 112)) return Color.FromArgb(184, 184, 184); + if (basecolor == Color.FromArgb(169, 200, 169)) return Color.FromArgb(218, 223, 218); + return ControlPaint.Light(basecolor, 70); + } + + public static Color GetDarkFromColor(Color basecolor) + { + if (basecolor == Color.FromArgb(112, 112, 112)) return Color.FromArgb(72, 72, 72); + if (basecolor == Color.FromArgb(169, 200, 169)) return Color.FromArgb(95, 153, 95); + return ControlPaint.Dark(basecolor, 70); + } } } diff --git a/Histacom2.Engine/Template/Infobox95.Designer.cs b/Histacom2.Engine/Template/Infobox95.Designer.cs index 0bccf85..7bb6869 100644 --- a/Histacom2.Engine/Template/Infobox95.Designer.cs +++ b/Histacom2.Engine/Template/Infobox95.Designer.cs @@ -29,12 +29,12 @@ private void InitializeComponent() { this.programContent = new System.Windows.Forms.Panel(); - this.button1 = new System.Windows.Forms.Button(); - this.button3 = new System.Windows.Forms.Button(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.panel1 = new System.Windows.Forms.Panel(); this.infoText = new System.Windows.Forms.Label(); - this.button2 = new System.Windows.Forms.Button(); + this.button1 = new Histacom2.Engine.UI.ClassicButton(); + this.button3 = new Histacom2.Engine.UI.ClassicButton(); + this.button2 = new Histacom2.Engine.UI.ClassicButton(); this.programContent.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.panel1.SuspendLayout(); @@ -54,34 +54,7 @@ this.programContent.Size = new System.Drawing.Size(413, 118); this.programContent.TabIndex = 10; this.programContent.Tag = "gnoreFormOnTaskbar"; - // - // button1 - // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.button1.Location = new System.Drawing.Point(150, 84); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(80, 23); - this.button1.TabIndex = 5; - this.button1.Text = "Yes"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); - // - // button3 - // - this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.button3.Location = new System.Drawing.Point(323, 84); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(80, 23); - this.button3.TabIndex = 4; - this.button3.Text = "Cancel"; - this.button3.UseVisualStyleBackColor = true; - this.button3.Click += new System.EventHandler(this.button3_Click); + this.programContent.Paint += new System.Windows.Forms.PaintEventHandler(this.programContent_Paint); // // pictureBox1 // @@ -111,18 +84,43 @@ this.infoText.TabIndex = 0; this.infoText.Text = "label1"; // + // button1 + // + this.button1.BackColor = System.Drawing.Color.Silver; + this.button1.ForeColor = System.Drawing.Color.Black; + this.button1.Location = new System.Drawing.Point(150, 84); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(80, 23); + this.button1.TabIndex = 6; + this.button1.Text = "Yes"; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button3 + // + this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.button3.BackColor = System.Drawing.Color.Silver; + this.button3.ForeColor = System.Drawing.Color.Black; + this.button3.Location = new System.Drawing.Point(323, 84); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(80, 23); + this.button3.TabIndex = 4; + this.button3.Text = "Cancel"; + this.button3.Click += new System.EventHandler(this.button3_Click); + // // button2 // this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup; - this.button2.Location = new System.Drawing.Point(236, 84); + this.button2.BackColor = System.Drawing.Color.Silver; + this.button2.ForeColor = System.Drawing.Color.Black; + this.button2.Location = new System.Drawing.Point(237, 84); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(80, 23); this.button2.TabIndex = 1; this.button2.Text = "No"; - this.button2.UseVisualStyleBackColor = true; this.button2.Click += new System.EventHandler(this.button2_Click); // // Infobox95 @@ -145,8 +143,8 @@ private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.Panel panel1; public System.Windows.Forms.Label infoText; - private System.Windows.Forms.Button button2; - private System.Windows.Forms.Button button3; - private System.Windows.Forms.Button button1; + private UI.ClassicButton button1; + private UI.ClassicButton button2; + private UI.ClassicButton button3; } }
\ No newline at end of file diff --git a/Histacom2.Engine/Template/Infobox95.cs b/Histacom2.Engine/Template/Infobox95.cs index f0ed0db..9214461 100644 --- a/Histacom2.Engine/Template/Infobox95.cs +++ b/Histacom2.Engine/Template/Infobox95.cs @@ -13,9 +13,8 @@ namespace Histacom2.Engine.Template public Infobox95(InfoboxType type, InfoboxButtons btns) { InitializeComponent(); - button1.Paint += (sender, args) => Paintbrush.PaintClassicBorders(sender, args, 2); - button2.Paint += (sender, args) => Paintbrush.PaintClassicBorders(sender, args, 2); - button3.Paint += (sender, args) => Paintbrush.PaintClassicBorders(sender, args, 2); + this.BackColor = SaveSystem.currentTheme.threeDObjectsColor; + this.programContent.BackColor = SaveSystem.currentTheme.threeDObjectsColor; switch (type) { @@ -66,6 +65,12 @@ namespace Histacom2.Engine.Template { if (btnStatus == 0) this.ParentForm.Close(); } + + private void programContent_Paint(object sender, PaintEventArgs e) + { + this.BackColor = SaveSystem.currentTheme.threeDObjectsColor; + this.programContent.BackColor = SaveSystem.currentTheme.threeDObjectsColor; + } } public enum InfoboxType diff --git a/Histacom2.Engine/Template/WinClassic.Designer.cs b/Histacom2.Engine/Template/WinClassic.Designer.cs index 593cfd6..bacce99 100644 --- a/Histacom2.Engine/Template/WinClassic.Designer.cs +++ b/Histacom2.Engine/Template/WinClassic.Designer.cs @@ -79,6 +79,7 @@ this.programContent.Name = "programContent"; this.programContent.Size = new System.Drawing.Size(292, 274); this.programContent.TabIndex = 9; + this.programContent.ControlAdded += new System.Windows.Forms.ControlEventHandler(this.programContent_ControlAdded); // // programtopbar // @@ -160,6 +161,7 @@ this.toprightcorner.Name = "toprightcorner"; this.toprightcorner.Size = new System.Drawing.Size(4, 4); this.toprightcorner.TabIndex = 6; + this.toprightcorner.Paint += new System.Windows.Forms.PaintEventHandler(this.toprightcorner_Paint); this.toprightcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.toprightcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.toprightcorner_MouseMove); this.toprightcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -173,6 +175,7 @@ this.bottomrightcorner.Name = "bottomrightcorner"; this.bottomrightcorner.Size = new System.Drawing.Size(4, 4); this.bottomrightcorner.TabIndex = 4; + this.bottomrightcorner.Paint += new System.Windows.Forms.PaintEventHandler(this.bottomrightcorner_Paint); this.bottomrightcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.bottomrightcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.bottomrightcorner_MouseMove); this.bottomrightcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -186,6 +189,7 @@ this.bottomleftcorner.Name = "bottomleftcorner"; this.bottomleftcorner.Size = new System.Drawing.Size(4, 4); this.bottomleftcorner.TabIndex = 2; + this.bottomleftcorner.Paint += new System.Windows.Forms.PaintEventHandler(this.bottomleftcorner_Paint); this.bottomleftcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.bottomleftcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.bottomleftcorner_MouseMove); this.bottomleftcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -198,6 +202,7 @@ this.topleftcorner.Name = "topleftcorner"; this.topleftcorner.Size = new System.Drawing.Size(4, 4); this.topleftcorner.TabIndex = 1; + this.topleftcorner.Paint += new System.Windows.Forms.PaintEventHandler(this.topleftcorner_Paint); this.topleftcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.topleftcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.topleftcorner_MouseMove); this.topleftcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -211,6 +216,7 @@ this.left.Name = "left"; this.left.Size = new System.Drawing.Size(4, 292); this.left.TabIndex = 3; + this.left.Paint += new System.Windows.Forms.PaintEventHandler(this.left_Paint); this.left.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.left.MouseMove += new System.Windows.Forms.MouseEventHandler(this.left_MouseMove); this.left.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -225,6 +231,7 @@ this.bottom.Name = "bottom"; this.bottom.Size = new System.Drawing.Size(296, 4); this.bottom.TabIndex = 5; + this.bottom.Paint += new System.Windows.Forms.PaintEventHandler(this.bottom_Paint); this.bottom.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.bottom.MouseMove += new System.Windows.Forms.MouseEventHandler(this.bottom_MouseMove); this.bottom.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -238,6 +245,7 @@ this.right.Name = "right"; this.right.Size = new System.Drawing.Size(4, 296); this.right.TabIndex = 7; + this.right.Paint += new System.Windows.Forms.PaintEventHandler(this.right_Paint); this.right.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.right.MouseMove += new System.Windows.Forms.MouseEventHandler(this.right_MouseMove); this.right.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); @@ -252,6 +260,7 @@ this.top.Name = "top"; this.top.Size = new System.Drawing.Size(300, 4); this.top.TabIndex = 8; + this.top.Paint += new System.Windows.Forms.PaintEventHandler(this.top_Paint); this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.top.MouseMove += new System.Windows.Forms.MouseEventHandler(this.top_MouseMove); this.top.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); diff --git a/Histacom2.Engine/Template/WinClassic.cs b/Histacom2.Engine/Template/WinClassic.cs index 20e66f0..0ccbe5b 100644 --- a/Histacom2.Engine/Template/WinClassic.cs +++ b/Histacom2.Engine/Template/WinClassic.cs @@ -11,10 +11,12 @@ namespace Histacom2.Engine.Template { InitializeComponent(); DoubleBuffered = true; + programContent.BackColor = SaveSystem.currentTheme.threeDObjectsColor; } public Font fnt; public ResizeOverlay resizer = new ResizeOverlay(); + public UserControl progContent; public bool resizable = true; public bool closeDisabled = false; @@ -207,6 +209,105 @@ namespace Histacom2.Engine.Template public bool max = false; + + private void bottom_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 0, 3, bottom.Width, 3); + gfx.DrawLine(new Pen(_darkBack), 0, 2, bottom.Width, 2); + } + + private void bottomleftcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 0, 3, 3, 3); + gfx.DrawLine(new Pen(_darkBack), 1, 2, 3, 2); + gfx.DrawLine(new Pen(_lightBack), 1, 0, 1, 1); + } + + private void left_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 1, 0, 1, left.Height); + } + + private void programContent_ControlAdded(object sender, ControlEventArgs e) + { + e.Control.BackColor = SaveSystem.currentTheme.threeDObjectsColor; + e.Control.Invalidate(); + } + + private void topleftcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 1, 3, 1, 1); + gfx.DrawLine(new Pen(_lightBack), 1, 1, 3, 1); + } + + private void top_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 0, 1, top.Width, 1); + } + + private void toprightcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _lightBack = Paintbrush.GetLightFromColor(SaveSystem.currentTheme.threeDObjectsColor); + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(new Pen(_lightBack), 0, 1, 1, 1); + gfx.DrawLine(new Pen(_darkBack), 2, 1, 2, 3); + gfx.DrawLine(Pens.Black, 3, 0, 3, 3); + } + + private void right_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 3, 0, 3, bottom.Width); + gfx.DrawLine(new Pen(_darkBack), 2, 0, 2, bottom.Width); + } + + private void bottomrightcorner_Paint(object sender, PaintEventArgs e) + { + var gfx = e.Graphics; + gfx.Clear(SaveSystem.currentTheme.threeDObjectsColor); + + var _darkBack = Paintbrush.GetDarkFromColor(SaveSystem.currentTheme.threeDObjectsColor); + + gfx.DrawLine(Pens.Black, 3, 0, 3, 3); + gfx.DrawLine(Pens.Black, 0, 3, 3, 3); + gfx.DrawLine(new Pen(_darkBack), 2, 0, 2, 2); + gfx.DrawLine(new Pen(_darkBack), 0, 2, 2, 2); + } + public Size prevSize; public Point prevPoint; private void maximizebutton_Click(object sender, EventArgs e) diff --git a/Histacom2.Engine/Template/WinClassic.resx b/Histacom2.Engine/Template/WinClassic.resx index 6876b17..a3848f8 100644 --- a/Histacom2.Engine/Template/WinClassic.resx +++ b/Histacom2.Engine/Template/WinClassic.resx @@ -121,63 +121,63 @@ <data name="toprightcorner.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAdSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAdSURBVBhXYzh8 /DQEMQDBfzBo6+oDcSDCGBwGBgAJoRsoKGRD1QAAAABJRU5ErkJggg== </value> </data> <data name="bottomrightcorner.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAdSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAdSURBVBhXYzh8 /DQQtXX1MQABCgdIQRCIgwAMDABm/hFrLt/K7gAAAABJRU5ErkJggg== </value> </data> <data name="bottomleftcorner.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAdSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAdSURBVBhXYzh8 /PT///+BJBBhcNq6+iCIAQEYGACcHRsocGQwIQAAAABJRU5ErkJggg== </value> </data> <data name="topleftcorner.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAaSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAaSURBVBhXYzh8 /DQcgTj/YQDKQZEBcY6fBgAaSCiZEc9BxAAAAABJRU5ErkJggg== </value> </data> <data name="left.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAIAAAB2XpiaAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAUSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAUSURBVBhXYzh8 /PT///+B5OHjpwFB1wn9nx9JYgAAAABJRU5ErkJggg== </value> </data> <data name="bottom.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAIAAADAusJtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAVSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAVSURBVBhXYzh8 /DQYt3X1MTAwMAAAQaQGSbsObiQAAAAASUVORK5CYII= </value> </data> <data name="right.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAIAAAB2XpiaAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAUSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAUSURBVBhXYzh8 /DQQtXX1MTAwAAA0WgZJrWm8iAAAAABJRU5ErkJggg== </value> </data> <data name="top.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAIAAADAusJtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAVSURBVBhXYzh8 + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAVSURBVBhXYzh8 /DTD////wfTh46cBUSgJ/bC/izUAAAAASUVORK5CYII= </value> </data> <data name="maximizebutton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA+SURBVChTY/hP + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA+SURBVChTY/hP CmAAAiB1nzjQ0NCA0HDgwAEQBwcAygIBNTRAJNDAqAY0DbgAdg0EAUIDkEUkAGkgDTAwAACYPGiagsMD PwAAAABJRU5ErkJggg== </value> @@ -185,7 +185,7 @@ <data name="minimizebutton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA5SURBVChTY/hP + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA5SURBVChTY/hP CmAAAiB1nzjQ0NCA0HCACDCqASqGF2DRAOKjAog4BFBDA36A0ABkEQlAGkgDDAwAKPmlWmNluNoAAAAA SUVORK5CYII= </value> @@ -193,7 +193,7 @@ <data name="closebutton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAABcSURBVChTrY/R + wgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAABcSURBVChTrY/R DcAgCERvdEbrJh2lPU+SYkINRt+PSN6J4FkBhMddw8y+wFUgCbQ70OtO7OQTJLgRa/L7JWmOt8RsB8mD TQ5NkFbeQcLwauzMdkjZCLAq0gJrAC8niIXaIK89FAAAAABJRU5ErkJggg== </value> diff --git a/Histacom2.Engine/Theme.cs b/Histacom2.Engine/Theme.cs index 6c1efef..5b5ae50 100644 --- a/Histacom2.Engine/Theme.cs +++ b/Histacom2.Engine/Theme.cs @@ -19,6 +19,11 @@ namespace Histacom2.Engine public Stream progErrorSound { get; set; } public Stream questionSound { get; set; } + public Color threeDObjectsColor { get; set; } + public Color threeDObjectsTextColor { get; set; } + + public Font buttonFont { get; set; } + public Color activeTitleBarColor { get; set; } public Color activeTitleTextColor { get; set; } public Color inactiveTitleBarColor { get; set; } @@ -42,6 +47,11 @@ namespace Histacom2.Engine progErrorSound = Properties.Resources.CHORD; questionSound = Properties.Resources.CHORD; + threeDObjectsColor = Color.Silver; + threeDObjectsTextColor = Color.Black; + + buttonFont = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular); + activeTitleBarColor = Color.Navy; activeTitleTextColor = Color.White; inactiveTitleBarColor = Color.Gray; @@ -65,6 +75,16 @@ namespace Histacom2.Engine progErrorSound = Properties.Resources.CHORD; questionSound = Properties.Resources.CHORD; + threeDObjectsColor = Color.Silver; + threeDObjectsTextColor = Color.Black; + + buttonFont = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular); + + activeTitleBarColor = Color.Navy; + activeTitleTextColor = Color.White; + inactiveTitleBarColor = Color.Gray; + inactiveTitleTextColor = Color.Silver; + defaultWallpaper = null; themeName = "default98"; } @@ -83,6 +103,11 @@ namespace Histacom2.Engine progErrorSound = Properties.Resources.Win95PlusDangerousCreaturesProgError; questionSound = Properties.Resources.Win95PlusDangerousCreaturesQuestion; + threeDObjectsColor = Color.FromArgb(112, 112, 112); + threeDObjectsTextColor = Color.Black; + + buttonFont = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold); + activeTitleBarColor = Color.Teal; activeTitleTextColor = Color.White; inactiveTitleBarColor = Color.FromArgb(72, 72, 72); @@ -102,6 +127,11 @@ namespace Histacom2.Engine asteriskSound = Properties.Resources.Win95PlusInsideComputerAsterisk; + threeDObjectsColor = Color.FromArgb(169, 200, 169); + threeDObjectsTextColor = Color.Black; + + buttonFont = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Bold); + activeTitleBarColor = Color.FromArgb(224, 0, 0); activeTitleTextColor = Color.White; inactiveTitleBarColor = Color.FromArgb(96, 168, 128); diff --git a/Histacom2.Engine/UI/ClassicButton.Designer.cs b/Histacom2.Engine/UI/ClassicButton.Designer.cs deleted file mode 100644 index c76bba0..0000000 --- a/Histacom2.Engine/UI/ClassicButton.Designer.cs +++ /dev/null @@ -1,91 +0,0 @@ -namespace Histacom2.Engine.UI -{ - partial class ClassicButton - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - this.borderpart = new System.Windows.Forms.Panel(); - this.graystuff = new System.Windows.Forms.Panel(); - this.lessgraystuff = new System.Windows.Forms.Label(); - this.borderpart.SuspendLayout(); - this.graystuff.SuspendLayout(); - this.SuspendLayout(); - // - // borderpart - // - this.borderpart.BackColor = System.Drawing.Color.White; - this.borderpart.Controls.Add(this.graystuff); - this.borderpart.Location = new System.Drawing.Point(0, 0); - this.borderpart.Name = "borderpart"; - this.borderpart.Size = new System.Drawing.Size(99, 24); - this.borderpart.TabIndex = 0; - // - // graystuff - // - this.graystuff.BackColor = System.Drawing.Color.Gray; - this.graystuff.Controls.Add(this.lessgraystuff); - this.graystuff.Location = new System.Drawing.Point(1, 1); - this.graystuff.Name = "graystuff"; - this.graystuff.Size = new System.Drawing.Size(98, 23); - this.graystuff.TabIndex = 0; - // - // lessgraystuff - // - this.lessgraystuff.BackColor = System.Drawing.Color.Silver; - this.lessgraystuff.Location = new System.Drawing.Point(0, 0); - this.lessgraystuff.Margin = new System.Windows.Forms.Padding(0); - this.lessgraystuff.Name = "lessgraystuff"; - this.lessgraystuff.Size = new System.Drawing.Size(97, 22); - this.lessgraystuff.TabIndex = 0; - this.lessgraystuff.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.lessgraystuff.Paint += new System.Windows.Forms.PaintEventHandler(this.lessgraystuff_Paint); - // - // ClassicButton - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.Black; - this.Controls.Add(this.borderpart); - this.Name = "ClassicButton"; - this.Size = new System.Drawing.Size(100, 25); - this.Paint += new System.Windows.Forms.PaintEventHandler(this.ClassicButton_Paint); - this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ClassicButton_MouseDown); - this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ClassicButton_MouseUp); - this.Resize += new System.EventHandler(this.ClassicButton_Resize); - this.borderpart.ResumeLayout(false); - this.graystuff.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel borderpart; - private System.Windows.Forms.Panel graystuff; - private System.Windows.Forms.Label lessgraystuff; - } -} diff --git a/Histacom2.Engine/UI/ClassicButton.cs b/Histacom2.Engine/UI/ClassicButton.cs index 26629a8..b761504 100644 --- a/Histacom2.Engine/UI/ClassicButton.cs +++ b/Histacom2.Engine/UI/ClassicButton.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; -using System.ComponentModel; using System.Drawing; -using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -10,49 +8,69 @@ using System.Windows.Forms; namespace Histacom2.Engine.UI { - public partial class ClassicButton : UserControl + public class ClassicButton : Control { - public ClassicButton() - { - InitializeComponent(); - } + private Color _lightBack; + private Color _darkBack; + private Font _font; - private void ClassicButton_SizeChanged(object sender, EventArgs e) + private bool _pressing = false; + + 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; - private void ClassicButton_MouseDown(object sender, MouseEventArgs e) - { - this.BackColor = Color.White; - borderpart.BackColor = Color.Black; - lessgraystuff.Location = new Point(1, 1); - } + if (SaveSystem.currentTheme != null) _font = SaveSystem.currentTheme.buttonFont; + else _font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular); - private void ClassicButton_Paint(object sender, PaintEventArgs e) - { - e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; - base.OnPaint(e); + MouseDown += (s, e) => { _pressing = true; Invalidate(); }; + MouseUp += (s, e) => { _pressing = false; Invalidate(); }; + Invalidate(); } - private void lessgraystuff_Paint(object sender, PaintEventArgs e) + protected override void OnPaint(PaintEventArgs e) { - e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; base.OnPaint(e); - } - private void ClassicButton_MouseUp(object sender, MouseEventArgs e) - { - this.BackColor = Color.Black; - borderpart.BackColor = Color.White; - lessgraystuff.Location = new Point(0, 0); - } + if (SaveSystem.currentTheme != null) BackColor = SaveSystem.currentTheme.threeDObjectsColor; + else BackColor = Color.Silver; - private void ClassicButton_Resize(object sender, EventArgs e) - { - borderpart.Size = new Size(this.Width - 1, this.Height - 1); - graystuff.Size = new Size(this.Width - 2, this.Height - 2); - lessgraystuff.Size = new Size(this.Width - 3, this.Height - 3); + _lightBack = Paintbrush.GetLightFromColor(BackColor); + _darkBack = Paintbrush.GetDarkFromColor(BackColor); + + var g = e.Graphics; + g.Clear(BackColor); + + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; + StringFormat sf = new StringFormat(); + sf.Alignment = StringAlignment.Center; + sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.Show; + + if (_pressing) + { + g.FillRectangle(new SolidBrush(_lightBack), new Rectangle(0, 0, Width, Height)); + g.FillRectangle(Brushes.Black, new Rectangle(0, 0, Width - 1, Height - 1)); + g.FillRectangle(new SolidBrush(_darkBack), new Rectangle(1, 1, Width - 2, Height - 2)); + g.FillRectangle(new SolidBrush(BackColor), new Rectangle(2, 2, Width - 3, Height - 3)); + + g.DrawString(Text, _font, new SolidBrush(ForeColor), ((Width / 2) + 1) + Padding.Left, (Height / 2) - (g.MeasureString(Text, Font).Height / 2) + 2, sf); + } + else + { + g.FillRectangle(Brushes.Black, new Rectangle(0, 0, Width, Height)); + g.FillRectangle(new SolidBrush(_lightBack), new Rectangle(0, 0, Width - 1, Height - 1)); + g.FillRectangle(new SolidBrush(_darkBack), new Rectangle(1, 1, Width - 2, Height - 2)); + g.FillRectangle(new SolidBrush(BackColor), new Rectangle(1, 1, Width - 3, Height - 3)); + + g.DrawString(Text, _font, new SolidBrush(ForeColor), (Width / 2) + Padding.Left, (Height / 2) - (g.MeasureString(Text, Font).Height / 2) + 1, sf); + } } + } -}
\ No newline at end of file +} diff --git a/Histacom2.Engine/UI/ClassicButton.resx b/Histacom2.Engine/UI/ClassicButton.resx deleted file mode 100644 index d5494e3..0000000 --- a/Histacom2.Engine/UI/ClassicButton.resx +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> - <value>17, 17</value> - </metadata> -</root>
\ No newline at end of file diff --git a/Histacom2.Engine/WindowManager.cs b/Histacom2.Engine/WindowManager.cs index cffb74a..4f4951c 100644 --- a/Histacom2.Engine/WindowManager.cs +++ b/Histacom2.Engine/WindowManager.cs @@ -60,6 +60,7 @@ namespace Histacom2.Engine content.Parent = app.programContent; content.BringToFront(); content.Dock = DockStyle.Fill; + app.progContent = content; // Check if icon is null if (icon == null) |
