From 6734ddb7e0e771971cb23f05f3db049f08b86b73 Mon Sep 17 00:00:00 2001 From: Alexander Eckart Date: Sun, 18 Mar 2012 20:21:47 +0100 Subject: [PATCH] fixed mouse cursor after fullscreen change in D3D, fixed fullscreen from maximized screen in D3D (by xDarkice) --- Vocaluxe/Lib/Draw/CDirect3D.cs | 35 ++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/Vocaluxe/Lib/Draw/CDirect3D.cs b/Vocaluxe/Lib/Draw/CDirect3D.cs index a6dffe0e..5bb3ece1 100644 --- a/Vocaluxe/Lib/Draw/CDirect3D.cs +++ b/Vocaluxe/Lib/Draw/CDirect3D.cs @@ -207,6 +207,27 @@ namespace Vocaluxe.Lib.Draw this.ClientSize = this.ClientSize; RResize(); } + + protected override void WndProc(ref Message m) + { + switch (m.Msg) + { + case 0x112: // WM_SYSCOMMAND + switch ((int)m.WParam & 0xFFF0) + { + case 0xF100: // SC_KEYMENU + m.Result = IntPtr.Zero; + break; + default: + base.WndProc(ref m); + break; + } + break; + default: + base.WndProc(ref m); + break; + } + } #endregion form events /// /// Resizes the viewport @@ -277,10 +298,15 @@ namespace Vocaluxe.Lib.Draw CenterToScreen(); _fullscreen = true; CConfig.FullScreen = EOffOn.TR_CONFIG_ON; - RResize(); - Cursor.Hide(); - _Mouse.Visible = true; + if (this.WindowState == FormWindowState.Maximized) + { + this.WindowState = FormWindowState.Normal; + RResize(); + this.WindowState = FormWindowState.Maximized; + } + else + RResize(); CConfig.SaveConfig(); } @@ -295,9 +321,6 @@ namespace Vocaluxe.Lib.Draw _fullscreen = false; CConfig.FullScreen = EOffOn.TR_CONFIG_OFF; - Cursor.Hide(); - _Mouse.Visible = true; - CConfig.SaveConfig(); }