procedure tform1.button1click(sender: tobject);
begin
label1.caption:='screen width:'+ inttostr(screen.width) ;
label2.caption:='screen height:'+ inttostr(screen.height);
end;
這樣就可以得到了!
以下是其它的方法:
clientw:=getsystemmetrics(sm_cxscreen);
clientw:=getresolution(true);
**********===《windows 程式設計 第五版》讀書筆記 || 第四章 輸出文字 **********===
可以用getsystemmetrics函式可以獲取系統解析度,但這只是其功能之一,getsystemmetrics函式只有乙個引數,稱之為「索引」,這個索引有75個識別符號,通過設定不同的識別符號就可以獲取系統解析度、窗體顯示區域的寬度和高度、滾動條的寬度和高度。
為了使使getsystemmetrics的功能,我們以獲取系統解析度為例,並將其中的兩個值用textout輸出到窗體中。
第一步:用getsystemmetrics獲取螢幕的寬度和高度
int x, y;
x = getsystemmetrics(sm_cxscreen); //螢幕寬度
y = getsystemmetrics(sm_cyscreen); //螢幕高度
第二步:用textout輸出解析度
因為x和y的值是int型別,所以無法用textout直接輸出,需要借助wsprintf函式,在c中,可以用printf函式直接將字串輸出到螢幕上,但wsprintf是將字串輸出到乙個char字元陣列中,而且wsprintf會返回輸出字串的長度。
tchar szbuffer[10];
int x = 1024;
int y = 768;
int ilength;
以上這段**,是用wsprintf將x的值存入szbuffer中,然後在ilength中存放x的長度。這一步實際上解決了兩個問題,將int型別的螢幕寬度轉為了tchar型別,textout函式可以直接輸出tchar型別字串,而且獲取了字串的長度,那麼我們就可以用textout函式在窗體中輸出螢幕的寬度:
textout(hdc, 0, 0, szbuffer, ilength);
本文的重點是getsystemmetrics函式,該函式的75個索引識別符號我沒乙個乙個的試,反正只要知道這個函式的作用就行了。在本文中wsprintf函式是解決int轉string的問題,本來想直接在textout中使用inttostr函式來輸出int型別的值,但沒弄清inttostr函式在哪個標頭檔案中,總用不上。inttostr函式我以前用過,在c++中應該有這個函式的。
獲取窗體顯示區域大小
已我現在的了解,獲取窗體顯示區域大小有三種方法。
第一種方法:使用getsystemmetrics函式
getsystemmetrics(sm_cxfullscreen); //獲取最大化窗體的顯示區域寬度
getsystemmetrics(sm_cyfullscreen); //獲取最大化窗體的顯示區域高度
第二種方法:使用getclientrect函式
該函式的原型如下:
bool getclientrect(
hwnd hwnd, // handle to window
lprect lprect // client coordinates
);書上沒介紹該函式的使用方法,看msdn的示例**,經過測試,其使用方法如下:
rect rect;
hdc = beginpaint (hwnd, &ps) ;
getclientrect(hwnd, &rect);
x = rect.right;
y = rect.bottom;
settextalign(hdc, ta_right | ta_top);
textout(hdc, 100, 0, szbuffer, wsprintf(szbuffer,text("%5d"), x));
textout(hdc, 100, cychar,szbuffer, wsprintf(szbuffer, text("%5d"), y));
endpaint (hwnd, &ps) ;
第三種方法:loword和hiword巨集
case wm_size:
x = loword(lparam);
y = hiword(lparam);
獲取手機螢幕解析度
獲取手機螢幕解析度的類 displaymetrics dm new displaymetrics getwindowmanager getdefaultdisplay getmetrics dm 獲得手機的寬頻和高度畫素單位為px string str 手機螢幕解析度為 dm.widthpixels...
IOS獲取螢幕解析度
from 獲取螢幕解析度是個很有用的功能,尤其在一些遊戲相關的開發中,圖形的繪製與螢幕解析度密不可分。得到當前螢幕的解析度是必不可少的支援。獲取螢幕解析度可以兩步走 1 得到當前螢幕的尺寸 cgrect rect screen uiscreen mainscreen bounds cgsize si...
IOS獲取螢幕解析度
原文連線 獲取螢幕解析度是個很有用的功能,尤其在一些遊戲相關的開發中,圖形的繪製與螢幕解析度密不可分。得到當前螢幕的解析度是必不可少的支援。獲取螢幕解析度可以兩步走 1 得到當前螢幕的尺寸 cgrect rect screen uiscreenmainscreen bounds cgsize siz...