OSDN Git Service

#35810 ウインドウ上にマウスカーソルがあれば非表示にするようにした。マウスを動かすと、2秒間マウスカーソルを表示したのち、非表示にする。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Wed, 23 Dec 2015 17:34:55 +0000 (17:34 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Wed, 23 Dec 2015 17:34:55 +0000 (17:34 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@906 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/全体/CDTXMania.cs
DTXManiaプロジェクト/作成資料/ScreenPlayDrums chips.psd
実行時フォルダ/DTXManiaGR.exe

index ad85864..8ea966d 100644 (file)
@@ -360,16 +360,16 @@ namespace DTXMania
                                }\r
                                if ( ConfigIni.bウィンドウモード )\r
                                {\r
-                                   if ( !this.bマウスカーソル表示中 )\r
-                                   {\r
-                                       Cursor.Show();\r
-                                       this.bマウスカーソル表示中 = true;\r
-                                   }\r
+                                       if ( !this.bマウスカーソル表示中 )\r
+                                       {\r
+                                               Cursor.Show();\r
+                                               this.bマウスカーソル表示中 = true;\r
+                                       }\r
                                }\r
                                else if ( this.bマウスカーソル表示中 )\r
                                {\r
-                                   Cursor.Hide();\r
-                                   this.bマウスカーソル表示中 = false;\r
+                                       Cursor.Hide();\r
+                                       this.bマウスカーソル表示中 = false;\r
                                }\r
 #endif\r
                        }\r
@@ -442,13 +442,13 @@ namespace DTXMania
                {\r
                        if ( ConfigIni.bウィンドウモード )\r
                        {\r
-                               if( !this.bマウスカーソル表示中 )\r
+                               if ( !this.bマウスカーソル表示中 )\r
                                {\r
                                        Cursor.Show();\r
                                        this.bマウスカーソル表示中 = true;\r
                                }\r
                        }\r
-                       else if( this.bマウスカーソル表示中 )\r
+                       else if ( this.bマウスカーソル表示中 )\r
                        {\r
                                Cursor.Hide();\r
                                this.bマウスカーソル表示中 = false;\r
@@ -1583,7 +1583,14 @@ for (int i = 0; i < 3; i++) {
                                Sound管理.t再生中の処理をする();     // サウンドバッファの更新; 画面描画と同期させることで、スクロールをスムーズにする\r
                        }\r
 \r
-\r
+                       #region [ マウスカーソル消去制御 ]\r
+                       ccMouseShow.t進行();\r
+                       if ( bマウスカーソル表示中 && ccMouseShow.b終了値に達した )\r
+                       {\r
+                               Cursor.Hide();\r
+                               bマウスカーソル表示中 = false;\r
+                       }\r
+                       #endregion\r
                        #region [ 全画面・ウインドウ切り替え ]\r
                        if ( this.b次のタイミングで全画面_ウィンドウ切り替えを行う)\r
                        {\r
@@ -1765,6 +1772,7 @@ for (int i = 0; i < 3; i++) {
                        }\r
                }\r
                private CSound previewSound;\r
+               private CCounter ccMouseShow;\r
 \r
                private void t起動処理()\r
                {\r
@@ -2032,6 +2040,7 @@ for (int i = 0; i < 3; i++) {
                        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
+                       base.Window.MouseMove += new MouseEventHandler(this.Window_MouseMove);\r
                        //---------------------\r
                        #endregion\r
                        #region [ Direct3D9Exを使うかどうか判定 ]\r
@@ -2116,6 +2125,9 @@ for (int i = 0; i < 3; i++) {
                        }\r
                        //---------------------\r
                        #endregion\r
+                       #region [ マウス消去用のタイマーを初期化 ]\r
+                       ccMouseShow = new CCounter();\r
+                       #endregion\r
                        //-----------\r
 \r
                        #region [ FPS カウンタの初期化 ]\r
@@ -2921,7 +2933,17 @@ for (int i = 0; i < 3; i++) {
                                this.t全画面_ウィンドウモード切り替え();\r
                        }\r
                }\r
-               private void Window_ResizeEnd(object sender, EventArgs e)                               // #23510 2010.11.20 yyagi: to get resized window size\r
+               private void Window_MouseMove( object sender, MouseEventArgs e )\r
+               {\r
+                       if ( this.bマウスカーソル表示中 == false )\r
+                       {\r
+                               Cursor.Show();\r
+                               this.bマウスカーソル表示中 = true;\r
+                       }\r
+                       ccMouseShow.t開始( 0, 1, 2000, Timer );\r
+               }\r
+\r
+               private void Window_ResizeEnd( object sender, EventArgs e )                             // #23510 2010.11.20 yyagi: to get resized window size\r
                {\r
                        if ( ConfigIni.bウィンドウモード )\r
                        {\r
index ecdc872..2a2ed00 100644 (file)
Binary files a/DTXManiaプロジェクト/作成資料/ScreenPlayDrums chips.psd and b/DTXManiaプロジェクト/作成資料/ScreenPlayDrums chips.psd differ
index 884875a..e002885 100644 (file)
Binary files a/実行時フォルダ/DTXManiaGR.exe and b/実行時フォルダ/DTXManiaGR.exe differ