MFC 中GetClientRect、ClientToScreen、GetWindow、RectScreenToClient的使用


CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE);

pWnd->GetClientRect(&rect);   //指該控件自身客戶區的矩形,原點為控件左上角,長寬為整個控件的尺寸

ClientToScreen(&rect);    // 坐標原點從控件所屬窗口客戶區移動到屏幕左上角,長寬為整個控件的尺寸,相當於把控件放在它所屬的客戶區的左上角時,在屏幕坐標系中的位置

 

pWnd->GetWindowRect(&rect);   //該控件相對電腦屏幕的坐標,,原點為屏幕左上角,長寬為整個控件的尺寸

ScreenToClient(&rect); //移動窗口時未改變,所以是相對位置,從屏幕坐標變換到客戶區坐標,相當於該控件到客戶區

 

GetClientRect(&rect);  //整個窗口自身客戶區的坐標 ,原點為客戶區左上角,長寬為客戶區的尺寸

ClientToScreen(&rect);   // 坐標系從客戶區變換到屏幕, 該窗口客戶區在屏幕坐標系中的位置

GetWindowRect(&rect);  //整個窗口相對於電腦屏幕的坐標,,原點為屏幕左上角,長寬為整個窗口的尺寸

ScreenToClient(&rect);  //整個窗口在客戶區坐標系下的位置

 

上文轉自:https://blog.csdn.net/kapok_lalala/article/details/71859362

 

一般情況下,ClientToScreen(&rect)與GetClientRect(&rect)聯合使用, 聯合使用;ScreenToClient(&rect)與GetWindowRect(&rect)聯合使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM