MFC 螢幕座標 視窗座標 邏輯座標 物理座標

2021-10-21 13:37:37 字數 546 閱讀 2240

int nwidth=getsystemmetrics(sm_cxscreen);  //螢幕寬度    

int nheight=getsystemmetrics(sm_cyscreen); //螢幕高度

int cx = getsystemmetrics(sm_cxfullscreen);

int cy = getsystemmetrics(sm_cyfullscreen);//但不包括工作列等區域

由於我的電腦解析度是1920*1024

getsystemmetrics() --> 用於得到被定義的系統資料或者系統配置資訊;

getclientrect() --> 得到客戶區的位置和大小,一般用於獲取視窗大小;

getwindowrect() --> 得到視窗(對話方塊或控制項)的螢幕座標,一般用於獲取對話方塊的螢幕座標或和screentoclient()配合使用獲取控制項的客戶區座標;

screentoclient() --> 螢幕座標轉換為客戶區座標,一般和getwindowrect()配合使用獲取控制項的客戶區座標;

邏輯座標(視窗) 裝置座標(視口)

視窗 依賴於邏輯座標,可以是畫素點 公釐或程式設計師想要的其他尺度。視口 依賴於裝置座標 畫素點 1.windows都用下面兩個公式將視窗座標轉換成視口座標 xviewport xwindow xwinorg xviewext xwinext xvieworg yviewport ywindow y...

螢幕座標系和視窗客戶區座標

螢幕座標系和視窗客戶區座標系最明顯的區別在於座標原點,螢幕座標系的座標原點在整個螢幕的左上角,而視窗客戶區座標系的座標原點在視窗客戶區的左上角,通常這兩個點是不重合的。一 裝置座標和邏輯座標 裝置座標 device coordinate 又稱為物理座標 physical coordinate 是指輸...

螢幕座標 客戶區域(可視視窗)座標 頁面座標的區分

螢幕座標 可視視窗座標 頁面座標有時不能迅速的對應起來,為了更好的區分三者,特意畫了一張圖如下 顧名思義,即整個電腦螢幕上任意一點的位置座標,對應的屬性分別為screenx,screeny,範圍如上圖最外層紅色邊框範圍,座標為藍色虛線對應的座標。可以使用類似下面的 取得滑鼠事件的螢幕座標 var d...