aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Engine/WindowManager
diff options
context:
space:
mode:
authorIBMPCDOS5 <[email protected]>2017-09-24 15:10:21 -0500
committerGitHub <[email protected]>2017-09-24 15:10:21 -0500
commit554a97739a89345613e5ca6fcdb9022ef80e665e (patch)
tree035533bf35faa4c1480adc8ef033fd8d9c65c8c5 /ShiftOS.Engine/WindowManager
parent061ce54709db3157ae3366607420639d34942c7e (diff)
parent0a552e395477d2bb4c90e12624d11b28545a4933 (diff)
downloadshiftos-rewind-554a97739a89345613e5ca6fcdb9022ef80e665e.tar.gz
shiftos-rewind-554a97739a89345613e5ca6fcdb9022ef80e665e.tar.bz2
shiftos-rewind-554a97739a89345613e5ca6fcdb9022ef80e665e.zip
Merge pull request #5 from AShifter/master
Update WM
Diffstat (limited to 'ShiftOS.Engine/WindowManager')
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWM.cs25
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs25
-rw-r--r--ShiftOS.Engine/WindowManager/ShiftWindow.cs24
3 files changed, 49 insertions, 25 deletions
diff --git a/ShiftOS.Engine/WindowManager/ShiftWM.cs b/ShiftOS.Engine/WindowManager/ShiftWM.cs
index 373a87b..d30224c 100644
--- a/ShiftOS.Engine/WindowManager/ShiftWM.cs
+++ b/ShiftOS.Engine/WindowManager/ShiftWM.cs
@@ -1,12 +1,11 @@
-using System.Windows.Forms;
+using System.Drawing;
+using System.Windows.Forms;
namespace ShiftOS.Engine.WindowManager
{
public class ShiftWM
{
- public static System.Drawing.Text.PrivateFontCollection pfc = new System.Drawing.Text.PrivateFontCollection();
-
- public ShiftWindow Init(UserControl content, string title, bool ShowAsInfobox = false, bool resize = true)
+ public ShiftWindow Init(UserControl content, string title, Image icon, bool ShowAsInfobox = false, bool resize = true)
{
// Setup Window
ShiftWindow app = new ShiftWindow();
@@ -15,21 +14,19 @@ namespace ShiftOS.Engine.WindowManager
app.Width = content.Width + app.left.Width + app.right.Width;
app.Height = content.Height + app.bottom.Height + app.top.Height;
- // Setup UC
- content.Parent = app.programContent;
- content.BringToFront();
- content.Dock = DockStyle.Fill;
-
- // Check if icon is null (NYI)
- /*
+ // Icon Setup
if (icon == null)
{
app.programIcon.Hide();
- app.programIcon.Image = Engine.Properties.Resources.nullIcon;
- app.Title.Location = new Point(2, 1);
+ app.programIcon.Image = Properties.Resources.nullIcon;
+ app.Title.Location = new Point(2, 7);
}
else app.programIcon.Image = icon;
- */
+
+ // Setup UC
+ content.Parent = app.programContent;
+ content.BringToFront();
+ content.Dock = DockStyle.Fill;
app.Show();
return app;
}
diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs
index dacc931..197c659 100644
--- a/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs
+++ b/ShiftOS.Engine/WindowManager/ShiftWindow.Designer.cs
@@ -29,6 +29,7 @@
private void InitializeComponent()
{
this.program = new System.Windows.Forms.Panel();
+ this.programContent = new System.Windows.Forms.Panel();
this.bottomleftcorner = new System.Windows.Forms.Panel();
this.toprightcorner = new System.Windows.Forms.Panel();
this.bottomrightcorner = new System.Windows.Forms.Panel();
@@ -42,7 +43,6 @@
this.closebutton = new System.Windows.Forms.PictureBox();
this.right = new System.Windows.Forms.Panel();
this.left = new System.Windows.Forms.Panel();
- this.programContent = new System.Windows.Forms.Panel();
this.program.SuspendLayout();
this.top.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit();
@@ -69,6 +69,14 @@
this.program.Size = new System.Drawing.Size(284, 261);
this.program.TabIndex = 11;
//
+ // programContent
+ //
+ this.programContent.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.programContent.Location = new System.Drawing.Point(4, 30);
+ this.programContent.Name = "programContent";
+ this.programContent.Size = new System.Drawing.Size(276, 227);
+ this.programContent.TabIndex = 11;
+ //
// bottomleftcorner
//
this.bottomleftcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@@ -130,6 +138,7 @@
this.top.Name = "top";
this.top.Size = new System.Drawing.Size(276, 30);
this.top.TabIndex = 0;
+ this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag);
//
// programIcon
//
@@ -166,13 +175,14 @@
//
this.Title.AutoSize = true;
this.Title.BackColor = System.Drawing.Color.Transparent;
- this.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.Title.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Title.ForeColor = System.Drawing.Color.White;
this.Title.Location = new System.Drawing.Point(25, 8);
this.Title.Name = "Title";
- this.Title.Size = new System.Drawing.Size(106, 14);
+ this.Title.Size = new System.Drawing.Size(98, 13);
this.Title.TabIndex = 3;
this.Title.Text = "Application Title";
+ this.Title.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag);
//
// closebutton
//
@@ -183,6 +193,7 @@
this.closebutton.Size = new System.Drawing.Size(21, 21);
this.closebutton.TabIndex = 4;
this.closebutton.TabStop = false;
+ this.closebutton.Click += new System.EventHandler(this.closebutton_Click);
//
// right
//
@@ -203,14 +214,6 @@
this.left.Size = new System.Drawing.Size(4, 261);
this.left.TabIndex = 1;
//
- // programContent
- //
- this.programContent.Dock = System.Windows.Forms.DockStyle.Fill;
- this.programContent.Location = new System.Drawing.Point(4, 30);
- this.programContent.Name = "programContent";
- this.programContent.Size = new System.Drawing.Size(276, 227);
- this.programContent.TabIndex = 11;
- //
// ShiftWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.cs
index 6f9c90d..9caaa6c 100644
--- a/ShiftOS.Engine/WindowManager/ShiftWindow.cs
+++ b/ShiftOS.Engine/WindowManager/ShiftWindow.cs
@@ -7,6 +7,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
+using System.Runtime.InteropServices;
namespace ShiftOS.Engine.WindowManager
{
@@ -16,5 +17,28 @@ namespace ShiftOS.Engine.WindowManager
{
InitializeComponent();
}
+ public const int WM_NCLBUTTONDOWN = 0xA1;
+ public const int HT_CAPTION = 0x2;
+
+ [DllImportAttribute("user32.dll")]
+ public static extern int SendMessage(IntPtr hWnd,
+ int Msg, int wParam, int lParam);
+ [DllImportAttribute("user32.dll")]
+ public static extern bool ReleaseCapture();
+
+ private void Programtopbar_drag(object sender, MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ ReleaseCapture();
+ SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
+ }
+ }
+
+ private void closebutton_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
}
}