【发布时间】:2010-03-28 17:06:29
【问题描述】:
我正在用 C++ 和 Win32 编写一个短游戏,我希望能够以固定大小全屏制作它。我还希望用户能够在游戏窗口和其他窗口之间随意切换焦点,而不会出现任何奇怪的屏幕故障。
到目前为止,我知道ChangeDisplaySettings 函数并在初始化时使用WS_POPUP 样式创建窗口以使其全屏显示。要检测用户通过 alt+tab 或其他方式将焦点切换到其他窗口,我应该在窗口的 WndProc 上处理哪些消息,还是应该使用其他功能?当检测到失去焦点时,我应该只调用ChangeDisplaySettings(NULL, 0); 还是应该调用其他函数?我应该使用什么方法来处理焦点回到窗口?
还有谁能给我一些关于如何使它在不同屏幕尺寸下顺利运行的信息?
感谢您的帮助。
【问题讨论】:
-
全屏和“固定大小”是一种相互矛盾的要求。您想要以当前分辨率(用户选择)全屏还是更改分辨率并打开全屏窗口?
-
我希望窗口大小为 640x480,并在没有顶部窗口栏的全屏窗口中打开。