VC++获取屏幕大小第一篇 像素大小GetSystemMetrics
?
??? 要獲取屏幕的像素大小要使用GetSystemMetrics函數。下面就來看看這個函數的用法:
函數功能:用于得到被定義的系統數據或者系統配置信息
函數原型:
//?By?MoreWindows(?http://blog.csdn.NET/MoreWindows?) ?
int WINAPIGetSystemMetrics(
?????? int nIndex
);
參數說明:
這個函數只有一個參數,不過這個參數可以取很多值。在WINUSER.H中有:
/*
?* GetSystemMetrics() codes
?*//?MoreWindows(?http://blog.csdn.net/MoreWindows?) ?
?*/
#define SM_CXSCREEN???????????? 0
#define SM_CYSCREEN???????????? 1
#define SM_CXVSCROLL??????????? 2
#define SM_CYHSCROLL??????????? 3
#define SM_CYCAPTION????????? ??4
#define SM_CXBORDER???????????? 5
#define SM_CYBORDER???????????? 6
#define SM_CXDLGFRAME?????????? 7
#define SM_CYDLGFRAME?????????? 8
#define SM_CYVTHUMB???????????? 9
#define SM_CXHTHUMB???????????? 10
#define SM_CXICON?????????????? 11
#define SM_CYICON?????????????? 12
#define SM_CXCURSOR???????????? 13
#define SM_CYCURSOR???????????? 14
#define SM_CYMENU?????????????? 15
#define SM_CXFULLSCREEN???????? 16
#define SM_CYFULLSCREEN???????? 17
#define SM_CYKANJIWINDOW??????? 18
#define SM_MOUSEPRESENT???????? 19
#define SM_CYVSCROLL??????????? 20
#define SM_CXHSCROLL??????????? 21
#define SM_DEBUG??????????????? 22
#define SM_SWAPBUTTON?????????? 23
#define SM_RESERVED1??????????? 24
#define SM_RESERVED2??????????? 25
#define SM_RESERVED3??????????? 26
#define SM_RESERVED4??????????? 27
#define SM_CXMIN??????????????? 28
#define SM_CYMIN??????????????? 29
#define SM_CXSIZE?????????????? 30
#define SM_CYSIZE?????????????? 31
#define SM_CXFRAME????????????? 32
#define SM_CYFRAME????????????? 33
#define SM_CXMINTRACK?????????? 34
#define SM_CYMINTRACK?????????? 35
#define SM_CXDOUBLECLK????????? 36
#define SM_CYDOUBLECLK????????? 37
#define SM_CXICONSPACING??????? 38
#define SM_CYICONSPACING??????? 39
#define SM_MENUDROPALIGNMENT??? 40
#define SM_PENWINDOWS?????????? 41
#define SM_DBCSENABLED????????? 42
#define SM_CMOUSEBUTTONS??????? 43
?
#if(WINVER >= 0x0400)
#define SM_CXFIXEDFRAME?????????? SM_CXDLGFRAME? /* ;win40 name change */
#define SM_CYFIXEDFRAME?????????? SM_CYDLGFRAME? /* ;win40 name change */
#define SM_CXSIZEFRAME??????????? SM_CXFRAME???? /* ;win40 name change */
#define SM_CYSIZEFRAME??????????? SM_CYFRAME???? /* ;win40 name change */
?
#define SM_SECURE?????????????? 44
#define SM_CXEDGE?????????????? 45
#define SM_CYEDGE?????????????? 46
#define SM_CXMINSPACING???????? 47
#define SM_CYMINSPACING???????? 48
#define SM_CXSMICON???????????? 49
#define SM_CYSMICON???????????? 50
#define SM_CYSMCAPTION????????? 51
#define SM_CXSMSIZE???????????? 52
#define SM_CYSMSIZE???????????? 53
#define SM_CXMENUSIZE?????????? 54
#define SM_CYMENUSIZE?????????? 55
#define SM_ARRANGE????????????? 56
#define SM_CXMINIMIZED????????? 57
#define SM_CYMINIMIZED????????? 58
#define SM_CXMAXTRACK?????????? 59
#define SM_CYMAXTRACK?????????? 60
#define SM_CXMAXIMIZED?? ???????61
#define SM_CYMAXIMIZED????????? 62
#define SM_NETWORK????????????? 63
#define SM_CLEANBOOT??????????? 67
#define SM_CXDRAG?????????????? 68
#define SM_CYDRAG?????????????? 69
#endif /* WINVER >= 0x0400 */
#define SM_SHOWSOUNDS?????????? 70
#if(WINVER >= 0x0400)
#define SM_CXMENUCHECK????????? 71?? /* Use instead of GetMenuCheckMarkDimensions()! */
#define SM_CYMENUCHECK????????? 72
#define SM_SLOWMACHINE????????? 73
#define SM_MIDEASTENABLED?????? 74
#endif /* WINVER >= 0x0400 */
#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
#define SM_MOUSEWHEELPRESENT??? 75
#endif
#if(WINVER >= 0x0500)
#define SM_XVIRTUALSCREEN?????? 76
#define SM_YVIRTUALSCREEN?????? 77
#define SM_CXVIRTUALSCREEN????? 78
#define SM_CYVIRTUALSCREEN????? 79
#define SM_CMONITORS??????????? 80
#define SM_SAMEDISPLAYFORMAT??? 81
#endif /* WINVER >= 0x0500 */
?
#if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400))
#define SM_CMETRICS???????????? 76
#else
#define SM_CMETRICS???????????? 83
#endif
//http://blog.csdn.net/morewindows/article/details/8502583
?
呵呵,夠多吧,不用記,要用的時候查下MSDN就好了。由MSDN可以知道傳入SM_CXSCREEN和SM_CYSCREEN就得到屏幕的寬和高。詳見代碼:
[cpp] view plaincopy print?運行結果如下:
?
后面二篇《VC++獲取屏幕大小第二篇物理大小GetDeviceCaps上》和《VC++獲取屏幕大小第三篇物理大小GetDeviceCaps下》將介紹使用GetDeviceCaps函數來獲取屏幕的物理大小,歡迎繼續瀏覽。
地址1:http://blog.csdn.net/morewindows/article/details/8502592
地址2:http://blog.csdn.net/morewindows/article/details/8610891
?
轉載請標明出處,原文地址:http://blog.csdn.net/morewindows/article/details/8502583
總結
以上是生活随笔為你收集整理的VC++获取屏幕大小第一篇 像素大小GetSystemMetrics的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RepositionBars的用法和参数
- 下一篇: 闲置服务器 虚拟服务器,闲置主机搭建服务