1. 程式人生 > >視窗座標獲取 windows

視窗座標獲取 windows

 

 GetWindowRect是取得視窗在螢幕座標系下的RECT座標(包括客戶區和非客戶區),這樣可以得到視窗的大小和相對螢幕左上角(0,0)的位置。

   GetClientRect取得視窗客戶區(不包括非客戶區)在客戶區座標系下的RECT座標,可以得到視窗的大小,而不能得到相對螢幕的位置,因為這個矩陣是在客戶區座標系下(相對於視窗客戶區的左上角)的。  

  ClientToScreen把客戶區座標系下的RECT座標轉換為螢幕座標系下的RECT座標.

  ScreenToClient把螢幕座標系下的RECT座標轉換為客戶區座標系下的RECT座標.     我們對同一個視窗先GetWindowRect取得一個RECT,再用ScreenToClient轉換到客戶座標系。然後GetClientRect取得一個RECT,再用ClientToScreen轉換到螢幕座標系。顯然,GetWindowRect取得的矩陣不小於GetClientRect取得的矩陣。因為前者包含了非客戶區,而後包括了客戶區。   

  對GetWindowRect取得的矩陣ScreenToClient後,矩陣的大小沒有變小,(-3,-29)是視窗的左上角的座標,相對視窗客戶區左上角。對GetClientRect取得的矩陣ClientToScreen後,矩陣也沒有變大,新得到的矩陣是視窗客戶區在螢幕座標系上的RECT。