Mai*_*ter 6 winapi sdl multiple-monitors
我正在使用SDL 1.2.14,我发现了一个案例,我需要能够选择哪个监视器获取全屏窗口.使用Xorg,我发现Xinerama可以使用SDL_VIDEO_FULLSCREEN_HEAD环境变量完成这项工作,但是,我一直无法找到类似于Win32的东西.
全屏窗口始终在主监视器上创建,并且由于SDL 1.2不能(SDL 1.3可以,但它不稳定)提供API来选择在Win32上使用哪个监视器,我想知道是否可以以编程方式移动创建后使用Win32 API创建辅助监视器的全屏幕窗口.
我能够获得窗口/上下文的底层Win32句柄.
Raymond Chen 写了一篇关于如何在窗口和全屏之间切换应用程序的有用文章。对您来说重要的部分是代码的这一部分:
GetMonitorInfo(MonitorFromWindow(hwnd, MONITOR_DEFAULTTOPRIMARY), &mi))
Run Code Online (Sandbox Code Playgroud)
这将获取特定监视器的监视器信息,但使用返回的值来MonitorFromWindow选择窗口当前所在的监视器。还有其他几种选择监视器的方法,例如提供 X,Y 坐标或枚举它们(使用EnumDisplayMonitors(...))。
GetMonitorInfo(...)传递一个MONITORINFO返回值,其中包含显示器的相对位置和大小,您可以使用它来定位全屏窗口。
MSDN上详细介绍了完整的 API 。
| 归档时间: |
|
| 查看次数: |
4865 次 |
| 最近记录: |