開発環境 | C/C++,WIN32 |
Windowsアプリケーションでは、ウィンドウのタイトルバーや枠を表示せず、画面一杯にアプリケーションデータを表示することはフルスクリーン化と呼ばれています。 このフルスクリーン化を実現する方法のひとつに、ウィンドウスタイルをWS_POPUPにしてウィンドウサイズを画面サイズと同じにする、という方法があります。 しかし、WS_POPUPにすると、Windowsキー+Mによる最小化が効かなくなります。私はこのショートカットをよく使うので大変不便に感じました。
そこで色々試行錯誤したところ、ウィンドウスタイルにWS_POPUPだけでなく、WS_MINIMIZEBOXを追加すると、Windowsキー+Mが有効になることが分かりました。キャプションがなくてもWS_MINIMIZEBOXは効果があるのですね。
WS_MINIMIZEBOXスタイルを追加したフルスクリーン化のコードっぽいものを参考までに置いておきます。
HWND Handle = ウィンドウハンドル; ::SetWindowLong(Handle, GWL_STYLE, WS_POPUP | WS_MINIMIZEBOX | WS_VISIBLE); ::SetMenu(Handle, NULL); ::SetWindowPos(Handle, HWND_TOP, 画面サイズ, SWP_FRAMECHANGED | SWP_NOCOPYBITS);