diff options
| author | AShifter <[email protected]> | 2017-10-01 08:23:50 -0600 |
|---|---|---|
| committer | AShifter <[email protected]> | 2017-10-01 08:23:50 -0600 |
| commit | 46fe7eb7098dd31b186e13e228fede07c46ee064 (patch) | |
| tree | e6fbc5ac67890b11293f682c279ff7670ecef8cf /ShiftOS.Engine/WindowManager/ShiftWindow.cs | |
| parent | f5004702c46d6c99737a0519d7d6735307c7501a (diff) | |
| parent | f2ed0c673c2d3f0e021b0307a22792af66fd217d (diff) | |
| download | shiftos-rewind-46fe7eb7098dd31b186e13e228fede07c46ee064.tar.gz shiftos-rewind-46fe7eb7098dd31b186e13e228fede07c46ee064.tar.bz2 shiftos-rewind-46fe7eb7098dd31b186e13e228fede07c46ee064.zip | |
Merge remote-tracking branch 'refs/remotes/ShiftOS-Rewind/master'
Diffstat (limited to 'ShiftOS.Engine/WindowManager/ShiftWindow.cs')
| -rw-r--r-- | ShiftOS.Engine/WindowManager/ShiftWindow.cs | 108 |
1 files changed, 64 insertions, 44 deletions
diff --git a/ShiftOS.Engine/WindowManager/ShiftWindow.cs b/ShiftOS.Engine/WindowManager/ShiftWindow.cs index a004aa6..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,61 +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 minimizebutton_MouseLeave(object sender, EventArgs e) + => minimizebutton.BackColor = Color.Black; + + private void closebutton_MouseDown(object sender, MouseEventArgs e) + => closebutton.BackColor = Color.Black; + + private void maximizebutton_MouseDown(object sender, MouseEventArgs e) + => maximizebutton.BackColor = Color.Black; + + private void minimizebutton_MouseDown(object sender, MouseEventArgs e) + => minimizebutton.BackColor = Color.Black; + + private void minimizebutton_MouseUp(object sender, MouseEventArgs e) + => minimizebutton.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); + } } |
