MFC 设置指定显示器的分辨率

2025-10-17 00:13:53

1、首先使用vs2013创建一个MFC的示例工程,如下图所示,VS2013的工程创建向导可以简单的创建

MFC 设置指定显示器的分辨率

MFC 设置指定显示器的分辨率

2、然后我们先来了解一下如何获取屏幕分辨率的接口,如下图所示,在msdn上找到这个接口,通过这个来获取屏幕原来的分辨率

MFC 设置指定显示器的分辨率

MFC 设置指定显示器的分辨率

MFC 设置指定显示器的分辨率

3、然后我们再来了解一下如何设置屏幕分辨率的接口,如下图所示,在msdn上找到这个接口,通过这个来设置屏幕的分辨率

MFC 设置指定显示器的分辨率

4、关于设置分辨率的参数如何设置,请参考下图的结构体的变量的注释,如下图所示,将这些变量的注释了解一下

MFC 设置指定显示器的分辨率

MFC 设置指定显示器的分辨率

5、如下图所示,在程序的源文件中,加上如下代码就可以设置屏幕的分辨率了,非常简单

MFC 设置指定显示器的分辨率

6、将下面的示例代码放到一个按钮的点击事件就可以了,参考代码如下:

int Width = GetSystemMetrics(SM_CXSCREEN);

int Height = GetSystemMetrics(SM_CYSCREEN);

DEVMODE lpDevMode0;

lpDevMode0.dmBitsPerPel = 32;

lpDevMode0.dmPelsWidth = Width;

lpDevMode0.dmPelsHeight = Height;

lpDevMode0.dmSize = sizeof(lpDevMode0);

lpDevMode0.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL;

DEVMODE lpDevMode;

lpDevMode.dmBitsPerPel = 32;

lpDevMode.dmPelsWidth = 1366;

lpDevMode.dmPelsHeight = 768;

lpDevMode.dmSize = sizeof(lpDevMode);

lpDevMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL;

LONG result;

result = ChangeDisplaySettings(&lpDevMode, 0);

if (result == DISP_CHANGE_SUCCESSFUL)

{

ChangeDisplaySettings(&lpDevMode, CDS_UPDATEREGISTRY);

}

else

{

ChangeDisplaySettings(NULL, 0);

}

MFC 设置指定显示器的分辨率

MFC 设置指定显示器的分辨率

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢