GetWindowRect和GetClientRect

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。


發佈了5 篇原創文章 · 獲贊 2 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章