OSDN Git Service

#23510 ウインドウリサイズ: Config.iniへの書き出し部分をリファクタした。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Fri, 19 Nov 2010 17:57:22 +0000 (17:57 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Fri, 19 Nov 2010 17:57:22 +0000 (17:57 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@44 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/全体/CDTXMania.cs
FDK17プロジェクト/コード/01.フレームワーク/Core/GameWindow.cs

index 16d6d3d..73abda4 100644 (file)
@@ -288,7 +288,6 @@ namespace DTXMania
                                        ConfigIni.nウインドウwidth = this.Window.ClientSize.Width;\r
                                        ConfigIni.nウインドウheight = this.Window.ClientSize.Height;\r
                                }\r
-//                             base.GraphicsDeviceManager.ToggleFullScreen();\r
                                base.GraphicsDeviceManager.ChangeDevice( settings );\r
                                if (ConfigIni.bウィンドウモード == true)        // #23510 2010.10.27 yyagi: to resume window size from backuped value\r
                                {\r
@@ -1186,8 +1185,9 @@ for (int i = 0; i < 3; i++) {
                        base.Window.ShowIcon = true;\r
                        base.Window.Icon = Properties.Resources.dtx;\r
                        base.Window.KeyDown += new KeyEventHandler( this.Window_KeyDown );\r
-                       base.Window.MouseDoubleClick += new MouseEventHandler(this.Window_MouseDoubleClick);    // #23510 2010.11.04 yyagi: to reset window size to 640x480\r
-                       base.Window.ApplicationActivated += new EventHandler( this.Window_ApplicationActivated );\r
+                       base.Window.MouseDoubleClick += new MouseEventHandler(this.Window_MouseDoubleClick);    // #23510 2010.11.13 yyagi: to go fullscreen mode\r
+                       base.Window.ResizeEnd += new EventHandler(this.Window_ResizeEnd);                                               // #23510 2010.11.20 yyagi: to set resized window size in Config.ini\r
+                       base.Window.ApplicationActivated += new EventHandler(this.Window_ApplicationActivated);\r
                        base.Window.ApplicationDeactivated += new EventHandler( this.Window_ApplicationDeactivated );\r
                        //---------------------\r
                        #endregion\r
@@ -1725,12 +1725,6 @@ for (int i = 0; i < 3; i++) {
                                #region [ Config.iniの出力 ]\r
                                //---------------------\r
                                Trace.TraceInformation("Config.ini を出力します。");\r
-                               // #23510 2010.10.31 yyagi\r
-                               // #23510 2010.11.02 yyagi change conditions from (base.windows.clientsize.width > 0) to (ConfigIni.bウインドウモード) to detect whether fullscreenmode or not correctly\r
-                               // とりあえずここでConfigへの変数書き戻しを行っているが、\r
-                               // 一段落したらリサイズイベントの処理中に入れ込んでしまう予定。\r
-                                       ConfigIni.nウインドウwidth  = (ConfigIni.bウィンドウモード) ? base.Window.ClientSize.Width : currentClientSize.Width;      // #23510 2010.10.31 yyagi add\r
-                                       ConfigIni.nウインドウheight = (ConfigIni.bウィンドウモード) ? base.Window.ClientSize.Height : currentClientSize.Height;\r
                                string str = strEXEのあるフォルダ + "Config.ini";\r
                                Trace.Indent();\r
                                try\r
@@ -1738,9 +1732,9 @@ for (int i = 0; i < 3; i++) {
                                        ConfigIni.t書き出し( str );\r
                                        Trace.TraceInformation( "保存しました。({0})", new object[] { str } );\r
                                }\r
-                               catch( Exception exception7 )\r
+                               catch( Exception e )\r
                                {\r
-                                       Trace.TraceError( exception7.Message );\r
+                                       Trace.TraceError( e.Message );\r
                                        Trace.TraceError( "Config.ini の出力に失敗しました。({0})", new object[] { str } );\r
                                }\r
                                finally\r
@@ -1908,6 +1902,11 @@ for (int i = 0; i < 3; i++) {
                        ConfigIni.bウィンドウモード = false;\r
                        this.t全画面・ウィンドウモード切り替え();\r
                }\r
+               private void Window_ResizeEnd(object sender, EventArgs e)                               // #23510 2010.11.20 yyagi: to get resized window size\r
+               {\r
+                       ConfigIni.nウインドウwidth = (ConfigIni.bウィンドウモード) ? base.Window.ClientSize.Width : currentClientSize.Width;       // #23510 2010.10.31 yyagi add\r
+                       ConfigIni.nウインドウheight = (ConfigIni.bウィンドウモード) ? base.Window.ClientSize.Height : currentClientSize.Height;\r
+               }\r
                #endregion\r
        }\r
 }\r
index 12e3cba..009bdd3 100644 (file)
@@ -384,7 +384,8 @@ namespace SampleFramework
                                #region #23510 2010.11.13 yyagi: reset to 640x480\r
                                if ((m.WParam.ToInt32() & 0xFFFF) == MENU_VIEW)         \r
                                {\r
-                                        base.ClientSize = new Size(640, 480);\r
+                                       base.ClientSize = new Size(640, 480);\r
+                                       this.OnResizeEnd(new EventArgs());              // #23510 2010.11.20 yyagi: to set window size to Config.ini\r
                                }\r
                                #endregion\r
                        }\r