MFC实例:[1]获取屏幕的宽度和高度
题外话:本教程所有实例编译环境为VS 2017专业版
1、打开VS 2017 -----》文件----》新建-----》项目------》MFC应用程序
2、将名称改为Height--------》选择基于对话框-------》点击完成
3、然后将界面调节成如下图:
4、双击测试空间(我的测试空间ID为:IDD_HEIGHT_DIALOG),双击后如下:
5、控件代码如下:
void CHeightDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
int heightX = GetSystemMetrics(SM_CXSCREEN); //获取屏幕X像素
int heightY = GetSystemMetrics(SM_CYSCREEN); //获取屏幕Y像素
CString str;
str.Format("标题栏按钮尺寸为:\n宽度:%d个像素\n高度:%d个像素", heightX, heightY);
MessageBox(str);
CDialogEx::OnOK();
}
6、编译运行如下:
7、本节实验知识总结:
(1) GetSystemMetrics是一个计算机函数,该函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。
(2)语法:
int GetSystemMetrics( int nIndex );
常用的如下(更多测参考:https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getsystemmetrics):
SM_CMONITORS 80 | 桌面上的显示器数量。有关更多信息,请参阅本主题中的“备注”部分。 |
SM_CXMAXIMIZED 61 | 主显示监视器上最大化顶级窗口的默认宽度(以像素为单位)。 |
SM_CXMIN 28 | 窗口的最小宽度(以像素为单位)。 |
SM_CXMINIMIZED 57 | 最小化窗口的宽度(以像素为单位)。 |
SM_CXSIZE 三十 | 窗口标题或标题栏中按钮的宽度(以像素为单位)。 |
(3)要求:
最低支持客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用程序] |
目标平台 | 视窗 |
头 | winuser.h(包括Windows.h) |
图书馆 | USER32.LIB |
DLL | user32.dll中 |
8、项目实例下载地址:
链接:https://pan.baidu.com/s/1VCJPM03S9CGkAeSBOxCNLw
提取码:b3ny