Visual C++——获取屏幕大小、窗口大小、对话框大小和位置、控件大小和位置
程序员文章站
2022-03-04 20:09:34
...
解决方案
获取屏幕大小
//下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域
int cx = GetSystemMetrics(SM_CXFULLSCREEN);
int cy = GetSystemMetrics(SM_CYFULLSCREEN);
printf("屏幕大小(不含任务栏):宽:%d,高:%d \r\n", cx,cy);
获取窗口大小
//下边这两个函数获取的是真正屏幕的大小:屏幕分辨率
int nWidth = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度
int nHeight = GetSystemMetrics(SM_CYSCREEN); //屏幕高度
printf("屏幕大小:宽:%d,高:%d \r\n", nWidth,nHeight);
获取对话框大小和位置
//对话框窗体大小及其屏幕坐标
CRect rectDlg;
//GetClientRect(rectDlg);//获得窗体的大小 //法1:
GetWindowRect(rectDlg);//获得窗体在屏幕上的位置 //法2:
ScreenToClient(rectDlg);
printf("窗口位置大小:底:%d, 右:%d, 宽:%d, 高:%d\r\n", rectDlg.bottom, rectDlg.right, rectDlg.Width(), rectDlg.Height());
获取控件大小和位置
//控件大小和位置
CRect rectCtrl;
CStatic *p = (CStatic*)GetDlgItem(IDC_VIDEOSHOW1);
//p->MoveWindow(100, 100, 100, 100);//更改控件大小并移动其到指定位置
p->GetWindowRect(rectCtrl);
this->ScreenToClient(rectCtrl);
//GetDlgItem(IDC_STATIC_TEST)->GetClientRect(rectCtrl);
printf("控件位置大小:左:%d, 顶:%d, 宽:%d, 高:%d\r\n", rectCtrl.left, rectCtrl.top, rectCtrl.Width(), rectCtrl.Height());
运行结果
参考文章
https://blog.csdn.net/cnicfhnui/article/details/51969593
https://zhidao.baidu.com/question/519398254.html
推荐阅读
-
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
-
获取控件大小和设置调整控件的位置XY示例
-
修改wicket modal窗口的大小和位置 wicketAjaxApache.netHTML
-
uniApp获取页面元素大小和位置
-
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
-
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)_jquery
-
【WinForm】运行时模仿窗体设计调整控件大小和位置
-
使用getBoundingClientRect获取元素的大小和位置
-
Javascript实现获取窗口的大小和位置代码分享_javascript技巧
-
用JavaScript获取DOM元素位置和尺寸大小的方法_基础知识