曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3270|回复: 0
打印 上一主题 下一主题

GetSystemMetrics() -- 获取系统分辨率

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2012-1-28 15:20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GetSystemMetrics() 函数原型如下:
int GetSystemMetrics(  int nIndex);
该函数用来获取系统相关分辨率,系统分辨率包括多种情形,比如屏幕分辨率,窗口边框的高宽度等。获取不同的分辨率由参数 nIndex 来指定。比如获取屏幕分辨率可如下使用:
[Plain Text] 纯文本查看 复制代码
int _tmain(int argc, _TCHAR* argv[])
{
        printf ("The screen dimension : %d x %d\n", GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN));
        return 0;
}

运行输出:
The screen dimension : 1280 x 1024

其它选项解释如下:
SM_CMOUSEBUTTONS 返回值为系统支持的鼠标键数,返回0,则系统中没有安装鼠标。

SM_CXBORDER,  SM_CYBORDER
返回以像素值为单位的Windows窗口边框的宽度和高度,如果Windows的为3D形态,则 等同于 SM_CXEDGE 参数

SM_CXCURSOR, SM_CYCURSOR
返回以像素值为单位的标准光标的宽度和高度

SM_CXDLGFRAME, SM_CYDLGFRAME
等同于 SM_CXFIXEDFRAME 和 SM_CYFIXEDFRAME

SM_CXDOUBLECLK,  SM_CYDOUBLECLK
以像素值为单位的双击有效的矩形区域

SM_CXEDGE,SM_CYEDGE
以像素值为单位的3D边框的宽度和高度

SM_CXFIXEDFRAME, SM_CYFIXEDFRAME
围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度

SM_CXFRAME,SM_CYFRAME
等同于SM_CXSIZEFRAME andSM_CYSIZEFRAME

SM_CXFULLSCREEN, SM_CYFULLSCREEN
全屏幕窗口的窗口区域的宽度和高度

SM_CXHSCROLL, SM_CYHSCROLL
水平滚动条的高度和水平滚动条上箭头的宽度

SM_CXHTHUMB
以像素为单位的水平滚动条上的滑动块宽度

SM_CXICON, SM_CYICON
系统缺省的图标的高度和宽度(一般为32*32)

SM_CXICONSPACING,  SM_CYICONSPACING
以大图标方式查看Item时图标之间的间距,这个距离总是大于等于

SM_CXICON and SM_CYICON. SM_CXMAXIMIZED, SM_CYMAXIMIZED
处于顶层的最大化窗口的缺省尺寸

SM_CXMAXTRACK, SM_CYMAXTRACK
具有可改变尺寸边框和标题栏的窗口的缺省最大尺寸,如果窗口大于这个尺寸,窗口是不可移动的。

SM_CXMENUCHECK, SM_CYMENUCHECK
以像素为单位计算的菜单选中标记位图的尺寸

SM_CXMENUSIZE, SM_CYMENUSIZE
以像素计算的菜单栏按钮的尺寸

SM_CXMIN,SM_CYMIN
窗口所能达到的最小尺寸

SM_CXMINIMIZED, SM_CYMINIMIZED
正常的最小化窗口的尺寸

SM_CXMINTRACK, SM_CYMINTRACK
最小跟踪距离,当使用者拖动窗口移动距离小于这个值,窗口不会移动。

SM_CXSCREEN, SM_CYSCREEN
以像素为单位计算的屏幕尺寸。

SM_CXSIZE,SM_CYSIZE
以像素计算的标题栏按钮的尺寸

SM_CXSIZEFRAME, SM_CYSIZEFRAME
围绕可改变大小的窗口的边框的厚度

SM_CXSMICON, SM_CYSMICON
以像素计算的小图标的尺寸,小图标一般出现在窗口标题栏上。

SM_CXVSCROLL, SM_CYVSCROLL
以像素计算的垂直滚动条的宽度和垂直滚动条上箭头的高度

SM_CYCAPTION
以像素计算的普通窗口标题的高度

SM_CYMENU
以像素计算的单个菜单条的高度

SM_CYSMCAPTION
以像素计算的窗口小标题栏的高度

SM_CYVTHUMB
以像素计算的垂直滚动条中滚动块的高度

SM_DBCSENABLED
如果为 TRUE 或不为 0 的值表明系统安装了双字节版本的 USER.EXE ,为 FALSE 或 0 则不是。

SM_DEBUG
如果为 TRU E或不为 0 的值表明系统安装了 debug 版本的USER.EXE,为 FALSE 或 0 则不是。

SM_MENUDROPALIGNMENT
如果为 TRUE 或不为 0 的值下拉菜单是右对齐的否则是左对齐的。

SM_MOUSEPRESENT
如果为 TRUE 或不为 0 的值则安装了鼠标,否则没有安装。

SM_MOUSEWHEELPRESENT
如果为TRUE或不为0的值则安装了滚轮鼠标,否则没有安装。(Windows NT only)

SM_SWAPBUTTON
如果为 TRUE 或不为 0 的值则鼠标左右键交换,否则没有。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-17 21:52 , Processed in 0.102550 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表