2011-09-04 14 views
5

SDL 1.2.14を使用していますが、フルスクリーンウィンドウを取得するモニタを選択する必要がある場合があります。 Xorgでは、XineramaがSDL_VIDEO_FULLSCREEN_HEAD環境変数を使用してジョブを実行できることがわかりましたが、Win32と同様のものを見つけることができませんでした。Win32/SDLを使用してフルスクリーンウィンドウをセカンダリモニタに移動

全画面ウィンドウは常にプライマリモニタで作成されます.SDL 1.2では(Win32で使用するモニタを選択するためのAPIは提供されていませんが、安定していない可能性があります) Win32 APIが作成された後に、フルスクリーンされたウィンドウをプログラムによって2次モニターに移動することができます。

ウィンドウ/コンテキストの基本となるWin32ハンドルを取得できました。

答えて

3

レイモンド・チェンはどのように便利な記事を書いたのですかswitch an application between windowed and full screen。あなたのための重要な部分は、コードのこのセクションのようになります。

GetMonitorInfo(MonitorFromWindow(hwnd, MONITOR_DEFAULTTOPRIMARY), &mi)) 

これは、特定のモニターのモニター情報を取得しますが、ウィンドウが現在置かれているモニターを選択するMonitorFromWindowから返された値を使用しています。 X、Y座標を指定する、またはそれらを列挙する(EnumDisplayMonitors(...)を使用して)など、モニターを選ぶ他の方法がいくつかあります。

GetMonitorInfo(...)は、ディスプレイの相対的な位置とサイズが含まれており、フルスクリーンウィンドウの配置に使用することができます。MONITORINFOが返されます。

フルAPIの詳細はMSDNです。

+0

すでにフルスクリーンのウィンドウを別のモニターに移動したいと思っていますが、私が与えた情報からその方法を導くことができます。 – icabod

関連する問題