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)聯合使用