如何在 C++ 中获取 Mac OS X 中主显示器的分辨率?

发布于 2024-07-05 14:05:59 字数 227 浏览 8 评论 0原文

我有一个图形应用程序,需要测试它在 Mac OS X 中启动的显示器的分辨率,以确保它不大于该分辨率。 这是在窗口本身初始化之前完成的。

如果有多个显示器,则它必须是主显示器。 这是硬件加速 (OpenGL) 应用程序将以全屏方式启动的显示屏,通常是顶部有菜单栏的显示屏。

在 Windows 中,我可以成功使用 GetSystemMetrics()。 我如何在 OS X 上执行此操作?

I have a graphical app that needs to test the resolution of the display it is starting up on in Mac OS X to ensure it is not larger than the resolution. This is done before the window itself is initialized.

If there is more than one display, it needs to be the primary display. This is the display that hardware accelerated (OpenGL) apps will start up on in Full Screen, and is typically the display that has the menu bar at the top.

In Windows, I can successfully use GetSystemMetrics(). How can I do this on OS X?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

客…行舟 2024-07-12 14:05:59

使用 CoreGraphics:

CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID());
CGFloat monitorHeight = CGRectGetHeight(mainMonitor);
CGFloat monitorWidth = CGRectGetWidth(mainMonitor);

更多信息请参见 Apple 的 Quartz Display Services Reference

Using CoreGraphics:

CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID());
CGFloat monitorHeight = CGRectGetHeight(mainMonitor);
CGFloat monitorWidth = CGRectGetWidth(mainMonitor);

More information at Apple's Quartz Display Services Reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文