获取屏幕及桌面大小

1. 获取屏幕大小

方法I:使用GetSystemMetrics()

int nWidth = GetSystemMetrics(SM_CXSCREEN);
int nHeight = GetSystemMetrics(SM_CYSCREEN);

得到1920*1080

例如:实现窗口居中显示

//屏幕大小
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);

//窗口居中
CRect rt;
GetWindowRect(&rt);
SetWindowPos(NULL, (cx - rt.Width()) / 2, (cy - rt.Height()) / 2, 0, 0, SWP_NOSIZE);
//或者用MoveWindow()
MoveWindow((cx - rt.Width())/2, (cy - rt.Height())/2, rt.Width(), rt.Height());

例如:动态创建的窗口并居中显示:

//创建窗口
//m_clsInstDlg.DoModal(); //不要用模态窗口,会阻塞程序
m_clsInstDlg.Create(IDD_INSTALL_DIALOG, GetDlgItem(IDD_MENU_DIALOG));
m_hInstDlg = m_clsInstDlg.m_hWnd;

//设置标题
m_clsInstDlg.SetTitle(m_strResCfg.sResName);

//窗口居中
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
CRect rt;
m_clsInstDlg.GetWindowRect(&rt);
m_clsInstDlg.SetWindowPos(NULL, (cx - rt.Width()) / 2, (cy - rt.Height()) / 2, 0, 0, SWP_NOSIZE);

//显示窗口
m_clsInstDlg.ShowWindow(SW_SHOW);

方法II: 使用GetDesktopWindow(), GetWindowRect()

</pre><pre name="code" class="cpp">GetDesktopWindow()->GetWindowRect(m_DesktopRect);
int nWidth = m_DesktopRect.Width()
int nHeight = m_DesktopRect.Height();

2. 获取桌面大小

CRect rectWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rectWorkArea, SPIF_SENDCHANGE);
int nWidth = rectWorkArea.Width();
int nHeight = rectWorkArea.Height();

得到 1920*1040(不包括任务栏的高度)

例如:实现桌面居中显示

//桌面大小
CRect rectWorkArea;
SystemParametersInfo(SPI_GETWORKAREA, 0, &rectWorkArea, SPIF_SENDCHANGE); //桌面大小

//窗口居中
CRect rt;
GetWindowRect(&rt);
int nX = (rectWorkArea.Width() - rt.Width()) / 2;
int nY = (rectWorkArea.Height() - rt.nHeight()) / 2;
SetWindowPos(NULL, nX, nY, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOREDRAW); //不要添加SWP_NOMOVE(会忽略坐标设置)
时间: 2024-08-04 18:31:01

获取屏幕及桌面大小的相关文章

VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 上一篇<VC++获取屏幕大小第一篇像素大小GetSystemMetrics>中介绍了使用GetSystemMetrics函数来获取屏幕的像素大小,本篇将介绍使用GetDeviceCaps函数来获取屏幕的物理大小.下面来看看GetDeviceCaps函数的用法: 函数功能:用于得到被定义的系统数据或者系统配置信息 函数原型:获取一些

在Qt中获取屏幕大小

如何在Qt中获取屏幕大小呢? 首先要调用QApplication类中的一个static方法,如下: QDesktopWidget *QApplication::desktop() QApplication类用来管理GUI应用程序的控制流和主要设置,其派生关系如下: QApplication:QGuiApplication:QCoreApplication:QObject 在主程序中,一定是QApplication而非QGuiApplication或QCoreApplication,否则会有 错误

cocos2d-x JS 获取屏幕大小或中点

以一张背景图为例: var HelloWorldLayer = cc.Layer.extend({ ctor:function () { this._super(); var bg = new cc.Sprite(res.HelloWorld_png); var size = cc.director.getWinSize();//获取屏幕大小 bg.x = size.width / 2; // x轴/2即为x轴中点 bg.y = size.height / 2; // y轴/2即为y轴中点 th

wift - 使用UIScreen类获取屏幕大小尺寸

UISreen类代表了屏幕,开发中一般用来获取屏幕相关的属性,例如获取屏幕的大小. 1 2 3 4 5 6 7 //获取屏幕大小 var screenBounds:CGRect = UIScreen.mainScreen().bounds println(screenBounds) //iPhone6输出:(0.0,0.0,375.0,667.0) //获取屏幕大小(不包括状态栏高度) var viewBounds:CGRect = UIScreen.mainScreen().applicati

java 获取屏幕大小

使用Java AWT类可以很方便取得屏幕分辨率及可用屏幕大小. 01.Dimension scrSize=Toolkit.getDefaultToolkit().getScreenSize();   此语句可取得屏幕实际大小.如屏幕分辨率是1024*768时,scrSize.width的值为1024,scrSize.height的值为768. 01.Insets scrInsets=Toolkit.getDefaultToolkit().getScreenInsets(GraphicsEnvir

Andorid 如何获取屏幕的大小

获取屏幕的大小 代码如下 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.widthPixels; int screenHeigh = dm.heightPixels; 版权声明:本文为博主原创文章,未经博主允许不得转载.

C# 获取屏幕的大小 SystemInformation类

C# 获取屏幕的大小 WinForm: int iActulaWidth = Screen.PrimaryScreen.Bounds.Width; int iActulaHeight = Screen.PrimaryScreen.Bounds.Height ; WPF下的: double dWidth = System.Windows.SystemParameters.PrimaryScreenWidth; double dHeight = System.Windows.SystemParame

获取屏幕高宽,在代码中设置控件大小的方法

获取屏幕高宽的方法: 1 import android.view.Display; 2 import android.view.WindowManager; 3 WindowManager windowManager = getWindowManager(); 4 Display display = windowManager.getDefaultDisplay(); 5 if(display.getWidth()==480 && display.getHeight()== 272 ||

Android获取屏幕大小和设置无标题栏

android获取屏幕大小非常常用,例如写个程序,如果要做成通用性很强的程序,适用屏幕很强,一般布局的时候都是根据屏幕的长宽来定义的,所以我把这个总结一下,方便日后忘记的时候查阅.还有就是有时候写程序根据需求不需要title,可以在程序中设置无title的屏幕!转载请标明出处: http://blog.csdn.net/wdaming1986/article/details/6769821 程序的效果图: 代码说明一切真理: 一.mainActivity.java类得代码: Java代码 pac