1.使用getsystemmetrics()
函式:如:
int cx = getsystemmetrics(sm_cxfullscreen); //得到寬度
int cy = getsystemmetrics(sm_cyfullscreen); //
得到高度
注意sm_cxscreen
和sm_cyscreen
與上面的區別。
2.使用getdevicecaps()
函式,如:
int cx = ::getdevicecaps(dc.m_hdc,horzres);
int cy = ::getdevicecaps(dc.m_hdc,vertres);
3.使用systemparametersinfo()
函式,如:
crect rt;
systemparametersinfo(spi_getworkarea, 0, r,t 0);
4.使用enumdisplaysettings()
函式,如:
devmode dm;
dm.dmsize = sizeof(devmode) ;
enumdisplaysettings(null,enum_current_settings,&dm);
intcx=dm.dmpelswidth;
intcx=dm.dmpelsheight;
5.使用getwindowrect()
函式,如:
cwnd * pwnddesktop = getdesktopwindow();crect rt;
pwnddesktop->getwindowrect(&rt);
int cx =rt.width();
int cy = rt.height();
附加:
1.int cx = getsystemmetrics(sm_cxfullscreen);
int cy = getsystemmetrics(sm_cyfullscreen);
通過上邊兩個函式獲取的是顯示螢幕的大小,及不包括工作列等區域。
intcx=getsystemmetrics(sm_cxscreen);
intcy=getsystemmetrics(sm_cyscreen);
這兩個函式獲取的是真正螢幕的大小。
用前兩個函式獲取的大小可能是1024*687
而用下邊兩個獲取的就是
1024*768
2.得到工作列大小
:
cwnd* ptaskwnd = findwindow( _t("shell_traywnd"), null );
if( ptaskwnd ) ptaskwnd->showwindow( false );
3.工作列是否隱藏
:
long lstyle = getwindowlong( ptaskwnd->getsafehwnd(), gwl_style );
if( lstyle & ws_visible )
else
你所知道的集合類有哪些?主要方法 ?
最常用的集合類是list和map。list的具體實現包括arraylist和vector,它們是可變大小的列表,比較適合構建,儲存和操作任何型別物件的元素列表,list適用於按索引訪問元素的元素是的情形。map提供了乙個更通用的元素儲存方法,map集合類適用於儲存元素對 稱作 鍵 和 值 其中每個鍵...
android獲取裝置螢幕大小的方法
displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm system.out println heigth dm.heightpixels system.out println wid...
android獲取裝置螢幕大小的方法
通過windowmanager獲取 displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm system.out.println heigth dm.heightpixels syst...