aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlempamo <[email protected]>2017-10-23 12:01:44 -0400
committerlempamo <[email protected]>2017-10-23 12:01:44 -0400
commit5e91513731ab83f356fd3cb4d2a13c93e933419a (patch)
treeb2402ea1db05e2e46bab58a272379fdb7a90a6ce
parenta9fc08f91fb2e33303ddb6e1e7359ce9539720ed (diff)
downloadhistacom2-5e91513731ab83f356fd3cb4d2a13c93e933419a.tar.gz
histacom2-5e91513731ab83f356fd3cb4d2a13c93e933419a.tar.bz2
histacom2-5e91513731ab83f356fd3cb4d2a13c93e933419a.zip
winxp template needs fixing
-rw-r--r--Histacom2.Engine/Template/WinXP.cs1
-rw-r--r--Histacom2.Engine/WindowManager.cs69
-rw-r--r--Histacom2/OS/WinXPBad/Story/Hack4.cs3
3 files changed, 64 insertions, 9 deletions
diff --git a/Histacom2.Engine/Template/WinXP.cs b/Histacom2.Engine/Template/WinXP.cs
index 86b222e..cf6640b 100644
--- a/Histacom2.Engine/Template/WinXP.cs
+++ b/Histacom2.Engine/Template/WinXP.cs
@@ -16,6 +16,7 @@ namespace Histacom2.Engine.Template
public WinXP()
{
InitializeComponent();
+ DoubleBuffered = true;
}
private void WinXP_Load(object sender, EventArgs e)
diff --git a/Histacom2.Engine/WindowManager.cs b/Histacom2.Engine/WindowManager.cs
index 4f4951c..ca0c782 100644
--- a/Histacom2.Engine/WindowManager.cs
+++ b/Histacom2.Engine/WindowManager.cs
@@ -36,11 +36,6 @@ namespace Histacom2.Engine
app = new WinClassic();
break;
}
- case "XP":
- {
- // app = new WinXP();
- break;
- }
default:
{
app = new WinClassic();
@@ -111,9 +106,69 @@ namespace Histacom2.Engine
return app;
}
- // A THING TM
+ public WinXP InitXP(UserControl content, string title, Image icon, bool MaxButton, bool MinButton, bool ShowApplicationAsDialog = false, bool resize = true)
+ {
+ WinXP app = new WinXP();
+
+ app.Text = title;
+ app.programname.Text = title;
+ app.Width = content.Width + 8;
+ app.Height = content.Height + 26;
+ // Initialize Font
+ pfc.AddFontFile(SaveSystem.GameDirectory + "\\Data\\LeviWindows.ttf");
+ Font fnt = new Font(pfc.Families[0], 16F, FontStyle.Regular, GraphicsUnit.Point, ((0)));
+ app.fnt = fnt;
+ app.Title.Font = new Font(pfc.Families[0], 16F, FontStyle.Bold, GraphicsUnit.Point, ((0)));
+ // Setup UC
+ content.Parent = app.programContent;
+ content.BringToFront();
+ content.Dock = DockStyle.Fill;
+ app.progContent = content;
+
+ // Check if icon is null
+ if (icon == null)
+ {
+ app.programIcon.Hide();
+ app.programIcon.Image = Engine.Properties.Resources.nullIcon;
+ app.programname.Location = new Point(2, 1);
+ }
+ else app.programIcon.Image = icon;
+
+ // Check if Max button is enabled and set proper X for Min button
+ if (MaxButton == false)
+ {
+ app.maximizebutton.Visible = false;
+ app.minimizebutton.Location = new Point(app.closebutton.Location.X - 14, app.minimizebutton.Location.Y);
+ }
+
+ // Check if Min button is enabled
+ if (MinButton == false)
+ {
+ app.minimizebutton.Visible = false;
+ app.minimizebutton.Location = new Point(app.minimizebutton.Location.X, app.minimizebutton.Location.Y);
+ }
+
+ //Resize
+ app.resizable = resize;
+
+ // Convert an image to an icon (for the taskbar)
+ if (icon != null)
+ {
+ Bitmap theBitmap = new Bitmap(icon, new Size(icon.Width, icon.Height));
+ IntPtr Hicon = theBitmap.GetHicon(); // Get an Hicon for myBitmap.
+ Icon newIcon = Icon.FromHandle(Hicon); // Create a new icon from the handle.
+ app.Icon = newIcon;
+ }
- // A THING TM
+ // Set some values (for the taskbar)
+ app.Tag = TaskBarController.AvalibleApplicationID;
+ app.Text = title;
+
+ // Show the app
+ app.TopMost = true;
+ if (ShowApplicationAsDialog == false) { app.Show(); } else { app.ShowDialog(); }
+ return app;
+ }
public WinClassic StartInfobox95(string title, string text, InfoboxType type, InfoboxButtons btns)
{
diff --git a/Histacom2/OS/WinXPBad/Story/Hack4.cs b/Histacom2/OS/WinXPBad/Story/Hack4.cs
index 1abd811..2a9bcd7 100644
--- a/Histacom2/OS/WinXPBad/Story/Hack4.cs
+++ b/Histacom2/OS/WinXPBad/Story/Hack4.cs
@@ -15,8 +15,7 @@ namespace Histacom2.OS.WinXPBad.Story
public static async void StartObjective()
{
Win95.Win95Apps.WinClassicTerminal Console = new Win95.Win95Apps.WinClassicTerminal(true);
- Random r = new Random();
- WinClassic app = wm.Init(Console, "MS-DOS Prompt", null, true, true);
+ WinXP app = wm.InitXP(Console, "MS-DOS Prompt", null, true, true);
}
}
}