トップページ > 記事閲覧
最新版においてのフルスクリーン切り替えについて
名前:Tir 日時: 2020/06/23 21:18

Alt+Enterでフルスクリーン切り替えを行った場合 最新版においてウィンドウ→フルスクリーン→ウィンドウと切り替えるとウィンドウがディスプレイの左上に固定されてしまいます またこれは以前のバージョンからでしたが、フルスクリーンから開始した場合一回では正常に切り替えられず フルスクリーン→ウィンドウ→フルスクリーン→ウィンドウとしないと正常に切り替えられません。(この場合は正常に画面真ん中にウィンドウが来ます) #include "DxLib.h" int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { SetUseDirect3DVersion(DX_DIRECT3D_11); if (MessageBox(NULL, "フルスクリーンで起動しますか?", "起動オプション", MB_YESNO) == IDYES) { ChangeWindowMode(false); } else { ChangeWindowMode(true); } SetGraphMode(1280, 960, 32); SetUseASyncChangeWindowModeFunction(TRUE, NULL, NULL); SetChangeScreenModeGraphicsSystemResetFlag(FALSE); if (DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK) != 0) return -1;//初期化と裏画面化 int Img = LoadGraph("img.png");//1280×960の画像 while (ProcessMessage() == 0) { ClearDrawScreen(); DrawGraph(0, 0, Img, false); ScreenFlip(); } DxLib_End(); return 0; }
メンテ

Page: 1 |

Re: 最新版においてのフルスクリーン切り替えについて ( No.1 )
名前:管理人 日時:2020/06/24 00:41

ご指摘ありがとうございます 手元の環境でも不具合を確認しました 正常にウィンドウモードとフルスクリーンモードの途中切り替えが行えるように 修正したバージョンをアップしましたので、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: 最新版においてのフルスクリーン切り替えについて ( No.2 )
名前:ギウ 日時:2020/06/24 08:10

管理人様 (便乗して質問です) フルスクリーンに切り替えた後、下記の関数は再設定しなくても問題ないでしょうか。(動かした感じは大丈夫っぽいですけど念のため) SetUseDirect3DVersion(???); SetScreenMemToVramFlag(???); SetWaitVSyncFlag(???); SetAlwaysRunFlag(???); GetMainWindowHandle(); SetMouseDispFlag(FALSE); SetSysCommandOffFlag(TRUE);
メンテ
Re: 最新版においてのフルスクリーン切り替えについて ( No.3 )
名前:Tir 日時:2020/06/24 19:12

無事にフルスクリーンとウィンドウの切り替えが確認できました ただ、仕様だと思って諦めていた事がもしかしたら何とかなるかもと思ったので報告します 現在ディスプレイが4Kのノートパソコンを使用していて表示を200%にしており、以前のバージョンではゲームを起動するとちゃんと拡大して表示してくれるのですが 一度でもフルスクリーンで起動するとそのゲームは今後は二度と拡大してくれなくなってしまいました。これは東方などのゲームでもこの現象が起こるので仕様だと思ったのですが DXライブラリの最新バージョンではフルスクリーンで起動してもウィンドウ時に200%の状態で表示してくれるように変わっていました そこでなのですが今回ウィンドウ→フルスクリーン→ウィンドウだと200%に拡大表示してくれますが フルスクリーン→ウィンドウだと100%表示のサイズに切り替わってしまいます。これも200%表示に変更できないでしょうか?
メンテ
Re: 最新版においてのフルスクリーン切り替えについて ( No.4 )
名前:管理人 日時:2020/06/24 23:46

> Tirさん > そこでなのですが今回ウィンドウ→フルスクリーン→ウィンドウだと200%に拡大表示してくれますが > フルスクリーン→ウィンドウだと100%表示のサイズに切り替わってしまいます。これも200%表示に変更できないでしょうか? できます 早速フルスクリーン→ウィンドウでも200%表示に変更してみましたので、よろしければお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい) > 現在ディスプレイが4Kのノートパソコンを使用していて表示を200%にしており、以前のバージョンではゲームを起動するとちゃんと拡大して表示してくれるのですが > 一度でもフルスクリーンで起動するとそのゲームは今後は二度と拡大してくれなくなってしまいました。これは東方などのゲームでもこの現象が起こるので仕様だと思ったのですが 私も最近調べて分かったのですが、Windows7 くらいからソフト側で『高DPI設定に対応しているかどうか』を設定できるようになっていまして、 『高DPI設定に対応しているかどうか』を特に設定しないと、OS側が勝手に対応しているかどうかを判定して、対応していないと判断されると 自動で標準DPIでの見た目になるように拡大してくれ、対応していると判断されると高DPI設定の拡大率の分だけ縮小された大きさのウィンドウで 表示される、という動作をします この『高DPI設定に対応しているかどうか』の判断材料に『フルスクリーンモードで起動したことがあるかどうか』が使われているのだと思います そして、最近DXライブラリでは『高DPI設定に対応しているかどうか』の設定を『高DPI設定に対応している』に設定するようにして、 モニタに設定されているDPIの拡大率を見て、拡大されている分だけウィンドウを大きく表示することで、高DPI設定の環境でも 見た目の大きさを標準DPI設定の場合と同じになるようにしています 私も4KモニタでDPI200%設定を使用するようになって初めて明確に気付いたことなので、恐らく東方を含め色々なゲームの作者さんは まだ『高DPI設定に対応しているかどうか』の設定をしていないのだと思います ( UnrealEngine4 や Unity を使用して作成されたソフトの場合はエンジン側が勝手に設定してくれますが… ) > ギウさん > フルスクリーンに切り替えた後、下記の関数は再設定しなくても問題ないでしょうか。(動かした感じは大丈夫っぽいですけど念のため) > SetUseDirect3DVersion(???); > SetScreenMemToVramFlag(???); > SetWaitVSyncFlag(???); > SetAlwaysRunFlag(???); > GetMainWindowHandle(); > SetMouseDispFlag(FALSE); > SetSysCommandOffFlag(TRUE);  はい、上記の関数はすべて再設定しなくても問題ないです
メンテ
Re: 最新版においてのフルスクリーン切り替えについて ( No.5 )
名前:ギウ 日時:2020/06/25 08:08

>はい、上記の関数はすべて再設定しなくても問題ないです 了解です。ご確認ありがとうございます!
メンテ
Re: 最新版においてのフルスクリーン切り替えについて ( No.6 )
名前:Tir(解決) 日時:2020/06/25 20:29

フルスクリーン→ウィンドウ切り替えでも拡大されている事を確認できました。 ソフトの方で設定されているのですね。僕もあの後調べたのですがプロパティの互換性からでも高DPIの設定が行えるみたいです。 何はともあれ対応ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存