得到螢幕大小的方法大全 你知道有幾種?

2021-05-23 16:39:02 字數 2107 閱讀 4404

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...