From: yyagi Date: Tue, 1 May 2012 15:15:29 +0000 (+0000) Subject: #28200 Config.iniのSystem/EnableSystemMenuで、ALT+SPACEのメニュー表示を抑制するかどうかを設定できるようにした。 X-Git-Tag: Release099f~228 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3091e11414aa70f30d87f187d42f0805205474f5;p=dtxmania%2Fdtxmania.git #28200 Config.iniのSystem/EnableSystemMenuで、ALT+SPACEのメニュー表示を抑制するかどうかを設定できるようにした。 0で抑制する。1で抑制しない。初期設定は1。 git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@380 16f42ceb-6dc6-49c8-ba94-f2d53467949d --- diff --git a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs index de19f944..0bcc5543 100644 --- a/DTXManiaプロジェクト/コード/全体/CConfigIni.cs +++ b/DTXManiaプロジェクト/コード/全体/CConfigIni.cs @@ -481,6 +481,7 @@ namespace DTXMania public bool bIsAutoResultCapture; // #25399 2011.6.9 yyagi リザルト画像自動保存機能のON/OFF制御 public int nPoliphonicSounds; // #28228 2012.5.1 yyagi レーン毎の最大同時発音数 public bool bバッファ入力を行う; + public bool bIsEnabledSystemMenu; // #28200 2012.5.1 yyagi System Menuの使用可否切替 public bool bConfigIniがないかDTXManiaのバージョンが異なる { get @@ -1014,6 +1015,7 @@ namespace DTXMania this.bIsAllowedDoubleClickFullscreen = true; // #26752 2011.11.26 ダブルクリックでのフルスクリーンモード移行を許可 this.eBDGroup = EBDGroup.打ち分ける; // #27029 2012.1.4 from HHPedalとBassPedalのグルーピング this.nPoliphonicSounds = 4; // #28228 2012.5.1 yyagi レーン毎の最大同時発音数 + this.bIsEnabledSystemMenu = true; // #28200 2012.5.1 yyagi System Menuの利用可否切替(使用可) } public CConfigIni( string iniファイル名 ) : this() @@ -1092,7 +1094,11 @@ namespace DTXMania sw.WriteLine( "; ウインドウをダブルクリックした時にフルスクリーンに移行するか(0:移行しない,1:移行する)" ); // #26752 2011.11.27 yyagi sw.WriteLine( "; Whether double click to go full screen mode or not." ); // sw.WriteLine( "DoubleClickFullScreen={0}", this.bIsAllowedDoubleClickFullscreen? 1 : 0); // - sw.WriteLine(); // + sw.WriteLine(); // + sw.WriteLine( "; ALT+SPACEのメニュー表示を抑制するかどうか(0:抑制する 1:抑制しない)" ); // #28200 2012.5.1 yyagi + sw.WriteLine( "; Whether ALT+SPACE menu would be masked or not.(0=masked 1=not masked)" ); // + sw.WriteLine( "EnableSystemMenu={0}", this.bIsEnabledSystemMenu? 1 : 0 ); // + sw.WriteLine(); // sw.WriteLine("; 垂直帰線同期(0:OFF,1:ON)"); sw.WriteLine( "VSyncWait={0}", this.b垂直帰線待ちを行う ? 1 : 0 ); @@ -1715,15 +1721,19 @@ namespace DTXMania this.nウインドウheight = SampleFramework.GameWindowSize.Height; } } - else if( str3.Equals( "DoubleClickFullScreen" ) ) // #26752 2011.11.27 yyagi + else if ( str3.Equals( "DoubleClickFullScreen" ) ) // #26752 2011.11.27 yyagi { this.bIsAllowedDoubleClickFullscreen = C変換.bONorOFF( str4[ 0 ] ); } - else if( str3.Equals( "VSyncWait" ) ) + else if ( str3.Equals( "EnableSystemMenu" ) ) // #28200 2012.5.1 yyagi + { + this.bIsEnabledSystemMenu = C変換.bONorOFF( str4[ 0 ] ); + } + else if ( str3.Equals( "VSyncWait" ) ) { this.b垂直帰線待ちを行う = C変換.bONorOFF( str4[ 0 ] ); } - else if( str3.Equals( "BackSleep" ) ) // #23568 2010.11.04 ikanick add + else if( str3.Equals( "BackSleep" ) ) // #23568 2010.11.04 ikanick add { this.n非フォーカス時スリープms = C変換.n値を文字列から取得して範囲内にちゃんと丸めて返す( str4, 0, 50, this.n非フォーカス時スリープms ); } diff --git a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs index 2a466729..f360d3c2 100644 --- a/DTXManiaプロジェクト/コード/全体/CDTXMania.cs +++ b/DTXManiaプロジェクト/コード/全体/CDTXMania.cs @@ -1360,6 +1360,7 @@ for (int i = 0; i < 3; i++) { try { ConfigIni.tファイルから読み込み( path ); + this.Window.EnableSystemMenu = CDTXMania.ConfigIni.bIsEnabledSystemMenu; // #28200 2011.5.1 yyagi } catch { diff --git a/FDK17プロジェクト/コード/01.フレームワーク/Core/GameWindow.cs b/FDK17プロジェクト/コード/01.フレームワーク/Core/GameWindow.cs index fb69c5e4..7ba887c6 100644 --- a/FDK17プロジェクト/コード/01.フレームワーク/Core/GameWindow.cs +++ b/FDK17プロジェクト/コード/01.フレームワーク/Core/GameWindow.cs @@ -112,6 +112,16 @@ namespace SampleFramework get { return maximized; } } + /// + /// Gets or sets a value indicating whether System Menu is enabled. + /// + /// true if System Menu is enabled; otherwise, false. + public bool EnableSystemMenu // #28200 2012.5.1 yyagi + { + get; + set; + } + private Screen m_Screen; /// /// Gets the screen on which the window resides. @@ -381,13 +391,13 @@ namespace SampleFramework return; } } -// #region Disable system menu -// if ( ( m.WParam.ToInt32() & 0xFFFF ) == 0xF100 ) // SC_KEYMENU -// { -// m.Result = IntPtr.Zero; -// return; -// } -// #endregion + #region #28200 2012.5.1 yyagi: Disable system menu + if ( ( m.WParam.ToInt32() & 0xFFFF ) == 0xF100 && !EnableSystemMenu ) // SC_KEYMENU + { + m.Result = IntPtr.Zero; + return; + } + #endregion #region #23510 2010.11.13 yyagi: reset to 640x480 if ((m.WParam.ToInt32() & 0xFFFF) == MENU_VIEW) {