RT
环境为 C++ EasyX
RT
环境为 C++ EasyX
(已自己解决,分享给需要的人)
一、在不改变屏幕分辨率的前提下,这样实现:
注意,如果要中途退出程序可以使用 Alt+F4
rW = GetSystemMetrics(SM_CXSCREEN); // 屏幕宽度 像素
rH = GetSystemMetrics(SM_CYSCREEN); // 屏幕高度 像素
HWND hwnd = initgraph(rW, rH); // 初始化绘图窗口并获取窗口句柄(以 EasyX 为例)
LONG l_WinStyle = GetWindowLong(hwnd, GWL_STYLE); // 获取窗口信息
// 设置窗口信息 最大化 取消标题栏及边框
SetWindowLong(hwnd, GWL_STYLE, (l_WinStyle | WS_POPUP | WS_MAXIMIZE) & ~WS_CAPTION & ~WS_THICKFRAME & ~WS_BORDER);// 直接修改窗口样式
SetWindowPos(hwnd, HWND_TOP, 0, 0, rW, rH, 0);
二、如果要改变屏幕分辨率,先这样做:
#include <ddraw.h>
#pragma comment (lib,"ddraw.lib")
2. 调用以下改变屏幕分辨率的函数
bool ChangeDisSize(int cx, int cy) // 分辨率设置为 cx × cy,退出程序时自动还原
{
LPDIRECTDRAW DXW;
HRESULT ddrval;
ddrval = DirectDrawCreate(NULL, &DXW, NULL);
if (DD_OK != DD_OK) return FALSE; // 创建DirectDraw对象失败返回
ddrval = DXW->SetCooperativeLevel(NULL, DDSCL_NORMAL);
if (DD_OK != DD_OK) return FALSE; // 取得窗口模式失败返回
ddrval = DXW->SetDisplayMode(cx, cy, 16);
if (DD_OK != DD_OK) return FALSE; // 设置显示模式失败返回
}