トップページ > 過去ログ > 記事閲覧
ウィンドウが最上面表示になる。
名前:Masao 日時: 2009/09/30 10:25

環境: Visual Studio 2008 Express Edition XP SP3 3.00d です。 画面を ウィンドウ⇒フルスクリーン⇒ウィンドウ にすると、ウィンドウが最上面表示になりタスクを切り替えても直りません。 裏に回すには最小化しか方法がありません。 以下、テストに使ったコードです。 回避方法または修正をよろしくお願いします。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); // DXライブラリ初期化処理 if(DxLib_Init() == -1){return -1;} // エラーが起きたら直ちに終了 // 描画先画面を裏画面にセット SetDrawScreen( DX_SCREEN_BACK ) ; printfDx("タスクを切り替えるとウィンドウは最上面に描画されない。\nただし以下の操作をすると変わります。\n"); printfDx("1. フルスクリーンにします。何か入力してください。\n"); ScreenFlip(); WaitKey(); ChangeWindowMode(FALSE); printfDx("2. ウィンドウモードに戻します。何か入力してください。\n"); ScreenFlip(); WaitKey(); ChangeWindowMode(TRUE); printfDx("3. Alt+tab や、ウィンドウズバーや、クリックでタスクを変える。\nするとウィンドウが最上面に残り、裏に回らない。\nESCキーで終了。"); while(ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0){ ScreenFlip(); ClearDrawScreen(); } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }

Page: 1 |

Re: ウィンドウが最上面表示になる。 ( No.1 )
名前:管理人 日時:2009/10/01 09:18

テストコードの掲載までしていただきありがとうございます こちらでも現象を確認することができました 修正したバージョンをアップしましたので、よろしければお使いください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
修正確認 ( No.2 )
名前:Masao 日時:2009/10/03 06:25

ありがとうございます! 修正確認しました。

Page: 1 |