Merge pull request #5 from AShifter/master

Update WM
This commit is contained in:
IBMPCDOS5 2017-09-24 15:10:21 -05:00 committed by GitHub
commit 554a97739a
16 changed files with 75 additions and 45 deletions

Binary file not shown.

View file

@ -59,5 +59,15 @@ namespace ShiftOS.Engine.Properties {
resourceCulture = value; resourceCulture = value;
} }
} }
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap nullIcon {
get {
object obj = ResourceManager.GetObject("nullIcon", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
} }
} }

View file

@ -117,4 +117,8 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="nullIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\nullIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root> </root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

View file

@ -65,5 +65,8 @@
<DependentUpon>ShiftWindow.cs</DependentUpon> <DependentUpon>ShiftWindow.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="Resources\nullIcon.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View file

@ -1,12 +1,11 @@
using System.Windows.Forms; using System.Drawing;
using System.Windows.Forms;
namespace ShiftOS.Engine.WindowManager namespace ShiftOS.Engine.WindowManager
{ {
public class ShiftWM public class ShiftWM
{ {
public static System.Drawing.Text.PrivateFontCollection pfc = new System.Drawing.Text.PrivateFontCollection(); public ShiftWindow Init(UserControl content, string title, Image icon, bool ShowAsInfobox = false, bool resize = true)
public ShiftWindow Init(UserControl content, string title, bool ShowAsInfobox = false, bool resize = true)
{ {
// Setup Window // Setup Window
ShiftWindow app = new ShiftWindow(); ShiftWindow app = new ShiftWindow();
@ -15,21 +14,19 @@ namespace ShiftOS.Engine.WindowManager
app.Width = content.Width + app.left.Width + app.right.Width; app.Width = content.Width + app.left.Width + app.right.Width;
app.Height = content.Height + app.bottom.Height + app.top.Height; app.Height = content.Height + app.bottom.Height + app.top.Height;
// Icon Setup
if (icon == null)
{
app.programIcon.Hide();
app.programIcon.Image = Properties.Resources.nullIcon;
app.Title.Location = new Point(2, 7);
}
else app.programIcon.Image = icon;
// Setup UC // Setup UC
content.Parent = app.programContent; content.Parent = app.programContent;
content.BringToFront(); content.BringToFront();
content.Dock = DockStyle.Fill; content.Dock = DockStyle.Fill;
// Check if icon is null (NYI)
/*
if (icon == null)
{
app.programIcon.Hide();
app.programIcon.Image = Engine.Properties.Resources.nullIcon;
app.Title.Location = new Point(2, 1);
}
else app.programIcon.Image = icon;
*/
app.Show(); app.Show();
return app; return app;
} }

View file

@ -29,6 +29,7 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.program = new System.Windows.Forms.Panel(); this.program = new System.Windows.Forms.Panel();
this.programContent = new System.Windows.Forms.Panel();
this.bottomleftcorner = new System.Windows.Forms.Panel(); this.bottomleftcorner = new System.Windows.Forms.Panel();
this.toprightcorner = new System.Windows.Forms.Panel(); this.toprightcorner = new System.Windows.Forms.Panel();
this.bottomrightcorner = new System.Windows.Forms.Panel(); this.bottomrightcorner = new System.Windows.Forms.Panel();
@ -42,7 +43,6 @@
this.closebutton = new System.Windows.Forms.PictureBox(); this.closebutton = new System.Windows.Forms.PictureBox();
this.right = new System.Windows.Forms.Panel(); this.right = new System.Windows.Forms.Panel();
this.left = new System.Windows.Forms.Panel(); this.left = new System.Windows.Forms.Panel();
this.programContent = new System.Windows.Forms.Panel();
this.program.SuspendLayout(); this.program.SuspendLayout();
this.top.SuspendLayout(); this.top.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit();
@ -69,6 +69,14 @@
this.program.Size = new System.Drawing.Size(284, 261); this.program.Size = new System.Drawing.Size(284, 261);
this.program.TabIndex = 11; 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 // bottomleftcorner
// //
this.bottomleftcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 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.Name = "top";
this.top.Size = new System.Drawing.Size(276, 30); this.top.Size = new System.Drawing.Size(276, 30);
this.top.TabIndex = 0; this.top.TabIndex = 0;
this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag);
// //
// programIcon // programIcon
// //
@ -166,13 +175,14 @@
// //
this.Title.AutoSize = true; this.Title.AutoSize = true;
this.Title.BackColor = System.Drawing.Color.Transparent; 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.ForeColor = System.Drawing.Color.White;
this.Title.Location = new System.Drawing.Point(25, 8); this.Title.Location = new System.Drawing.Point(25, 8);
this.Title.Name = "Title"; 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.TabIndex = 3;
this.Title.Text = "Application Title"; this.Title.Text = "Application Title";
this.Title.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Programtopbar_drag);
// //
// closebutton // closebutton
// //
@ -183,6 +193,7 @@
this.closebutton.Size = new System.Drawing.Size(21, 21); this.closebutton.Size = new System.Drawing.Size(21, 21);
this.closebutton.TabIndex = 4; this.closebutton.TabIndex = 4;
this.closebutton.TabStop = false; this.closebutton.TabStop = false;
this.closebutton.Click += new System.EventHandler(this.closebutton_Click);
// //
// right // right
// //
@ -203,14 +214,6 @@
this.left.Size = new System.Drawing.Size(4, 261); this.left.Size = new System.Drawing.Size(4, 261);
this.left.TabIndex = 1; 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 // ShiftWindow
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

View file

@ -7,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace ShiftOS.Engine.WindowManager namespace ShiftOS.Engine.WindowManager
{ {
@ -16,5 +17,28 @@ namespace ShiftOS.Engine.WindowManager
{ {
InitializeComponent(); 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();
}
} }
} }

View file

@ -52,16 +52,16 @@
</Compile> </Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ShiftDemo.cs"> <Compile Include="ShiftOS\Apps\ShiftDemo.cs">
<SubType>UserControl</SubType> <SubType>UserControl</SubType>
</Compile> </Compile>
<Compile Include="ShiftDemo.Designer.cs"> <Compile Include="ShiftOS\Apps\ShiftDemo.Designer.cs">
<DependentUpon>ShiftDemo.cs</DependentUpon> <DependentUpon>ShiftDemo.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="TestForm.cs"> <Compile Include="ShiftOS\Apps\TestForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="TestForm.Designer.cs"> <Compile Include="ShiftOS\Apps\TestForm.Designer.cs">
<DependentUpon>TestForm.cs</DependentUpon> <DependentUpon>TestForm.cs</DependentUpon>
</Compile> </Compile>
<EmbeddedResource Include="HijackScreen.resx"> <EmbeddedResource Include="HijackScreen.resx">
@ -77,10 +77,10 @@
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<EmbeddedResource Include="ShiftDemo.resx"> <EmbeddedResource Include="ShiftOS\Apps\ShiftDemo.resx">
<DependentUpon>ShiftDemo.cs</DependentUpon> <DependentUpon>ShiftDemo.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="TestForm.resx"> <EmbeddedResource Include="ShiftOS\Apps\TestForm.resx">
<DependentUpon>TestForm.cs</DependentUpon> <DependentUpon>TestForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">

View file

@ -7,7 +7,6 @@ namespace ShiftOS.Main
public partial class TestForm : Form public partial class TestForm : Form
{ {
public ShiftWM shiftWM = new ShiftWM(); public ShiftWM shiftWM = new ShiftWM();
public ShiftDemo demo = new ShiftDemo();
public TestForm() public TestForm()
{ {
@ -16,8 +15,9 @@ namespace ShiftOS.Main
private void Button1_Click(object sender, EventArgs e) private void Button1_Click(object sender, EventArgs e)
{ {
ShiftDemo demo = new ShiftDemo();
demo.label1.Text = textBox2.Text; demo.label1.Text = textBox2.Text;
shiftWM.Init(demo, textBox1.Text); shiftWM.Init(demo, textBox1.Text, null);
} }
} }
} }

View file

@ -3,13 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15 # Visual Studio 15
VisualStudioVersion = 15.0.26730.12 VisualStudioVersion = 15.0.26730.12
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ShiftOS.Old", "ShiftOS\ShiftOS.Old.vbproj", "{7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B35F8DA7-BCB0-4558-A9BE-673F44572E21}"
ProjectSection(SolutionItems) = preProject
ShiftOS\API.vb = ShiftOS\API.vb
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShiftOS.Main", "ShiftOS.Main\ShiftOS.Main.csproj", "{61A6E932-3129-4D58-AC79-F69D6E0B3054}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShiftOS.Main", "ShiftOS.Main\ShiftOS.Main.csproj", "{61A6E932-3129-4D58-AC79-F69D6E0B3054}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
{604EB1D7-998F-4A52-90A6-67F3DC3203D2} = {604EB1D7-998F-4A52-90A6-67F3DC3203D2} {604EB1D7-998F-4A52-90A6-67F3DC3203D2} = {604EB1D7-998F-4A52-90A6-67F3DC3203D2}
@ -23,10 +16,6 @@ Global
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DCD55AB-F67D-4C43-9BFB-74ED8AD0FDCF}.Release|Any CPU.Build.0 = Release|Any CPU
{61A6E932-3129-4D58-AC79-F69D6E0B3054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {61A6E932-3129-4D58-AC79-F69D6E0B3054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{61A6E932-3129-4D58-AC79-F69D6E0B3054}.Debug|Any CPU.Build.0 = Debug|Any CPU {61A6E932-3129-4D58-AC79-F69D6E0B3054}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61A6E932-3129-4D58-AC79-F69D6E0B3054}.Release|Any CPU.ActiveCfg = Release|Any CPU {61A6E932-3129-4D58-AC79-F69D6E0B3054}.Release|Any CPU.ActiveCfg = Release|Any CPU