From a25baf08203237fc2eeeb4b7ca720f7d47f8a666 Mon Sep 17 00:00:00 2001 From: John T Date: Wed, 27 Sep 2017 18:32:16 -0400 Subject: added desktop and some small additions and changes to shiftwm --- ShiftOS.Engine/WindowManager/ShiftWindow.cs | 126 +++++++++++++--------------- 1 file changed, 58 insertions(+), 68 deletions(-) (limited to 'ShiftOS.Engine/WindowManager/ShiftWindow.cs') diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.cs index 45aec7c..a41786a 100644 --- a/ShiftOS.Engine/WindowManager/ShiftWindow.cs +++ b/ShiftOS.Engine/WindowManager/ShiftWindow.cs @@ -1,11 +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; using System.Windows.Forms; using System.Runtime.InteropServices; @@ -13,91 +8,86 @@ namespace ShiftOS.Engine.WindowManager { public partial class ShiftWindow : Form { - public ShiftWindow() + public uint Id { get; private set; } + + public UserControl ChildControl { get; set; } + + public ShiftWindow() { InitializeComponent(); } - public const int WM_NCLBUTTONDOWN = 0xA1; - public const int HT_CAPTION = 0x2; + + public uint SetId() + { + do + { + Id = (uint)Tools.Rnd.Next(100000, 999999); + } + while (ShiftWM.Windows.FirstOrDefault(w => w.Id == Id) != null); + + return Id; + } + + private const int WM_NCLBUTTONDOWN = 0xA1; + private const int HT_CAPTION = 0x2; [DllImportAttribute("user32.dll")] - public static extern int SendMessage(IntPtr hWnd, + private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + [DllImportAttribute("user32.dll")] - public static extern bool ReleaseCapture(); + private 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); - } - } + if (e.Button != MouseButtons.Left) return; - private void closebutton_Click(object sender, EventArgs e) - { - this.Close(); + ReleaseCapture(); + SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } - private void closebutton_MouseEnter(object sender, EventArgs e) - { - closebutton.BackColor = Color.Gray; - } + private void closebutton_Click(object sender, EventArgs e) + => this.Close(); - private void closebutton_MouseLeave(object sender, EventArgs e) - { - closebutton.BackColor = Color.Black; - } + private void closebutton_MouseEnter(object sender, EventArgs e) + => closebutton.BackColor = Color.Gray; - private void maximizebutton_MouseEnter(object sender, EventArgs e) - { - maximizebutton.BackColor = Color.Gray; - } + private void closebutton_MouseLeave(object sender, EventArgs e) + => closebutton.BackColor = Color.Black; - private void maximizebutton_MouseLeave(object sender, EventArgs e) - { - maximizebutton.BackColor = Color.Black; - } + private void maximizebutton_MouseEnter(object sender, EventArgs e) + => maximizebutton.BackColor = Color.Gray; - private void minimizebutton_MouseEnter(object sender, EventArgs e) - { - minimizebutton.BackColor = Color.Gray; - } + private void maximizebutton_MouseLeave(object sender, EventArgs e) + => maximizebutton.BackColor = Color.Black; - private void minimizebutton_MouseLeave(object sender, EventArgs e) - { - minimizebutton.BackColor = Color.Black; - } + private void minimizebutton_MouseEnter(object sender, EventArgs e) + => minimizebutton.BackColor = Color.Gray; - private void closebutton_MouseDown(object sender, MouseEventArgs e) - { - closebutton.BackColor = Color.Black; - } + private void minimizebutton_MouseLeave(object sender, EventArgs e) + => minimizebutton.BackColor = Color.Black; - private void maximizebutton_MouseDown(object sender, MouseEventArgs e) - { - maximizebutton.BackColor = Color.Black; - } + private void closebutton_MouseDown(object sender, MouseEventArgs e) + => closebutton.BackColor = Color.Black; - private void minimizebutton_MouseDown(object sender, MouseEventArgs e) - { - minimizebutton.BackColor = Color.Black; - } + private void maximizebutton_MouseDown(object sender, MouseEventArgs e) + => maximizebutton.BackColor = Color.Black; - private void minimizebutton_MouseUp(object sender, MouseEventArgs e) - { - minimizebutton.BackColor = Color.Gray; - } + private void minimizebutton_MouseDown(object sender, MouseEventArgs e) + => minimizebutton.BackColor = Color.Black; - private void maximizebutton_MouseUp(object sender, MouseEventArgs e) - { - maximizebutton.BackColor = Color.Gray; - } + private void minimizebutton_MouseUp(object sender, MouseEventArgs e) + => minimizebutton.BackColor = Color.Gray; - private void closebutton_MouseUp(object sender, MouseEventArgs e) - { - closebutton.BackColor = Color.Gray; - } - } + private void maximizebutton_MouseUp(object sender, MouseEventArgs e) + => maximizebutton.BackColor = Color.Gray; + + private void closebutton_MouseUp(object sender, MouseEventArgs e) + => closebutton.BackColor = Color.Gray; + } + + public interface IShiftWindowExtensions + { + void OnLoaded(ShiftWindow window); + } } -- cgit v1.2.3