GetWindowRect,GetClientRect

CRect rect; GetDlgItem(IDC_COORDINATE)->GetWindowRect(&rect);//窗口坐标 //转换到 ScreenToClient(&rect); CClientDC dc(this); CPen pen(PS_SOLID,1,RGB(255,128,128)); CPen *pOldPen = dc.SelectObject(&pen); dc.MoveTo(rect.TopLeft()); dc.LineTo(rect.BottomRight()); dc.SelectObject(pOldPen);

 

GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。即:整个显示器的坐标,左上角为(0,0)

GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。即:应用程序左上角坐标(0,0)

ClientToScreen把客户区坐标系下的RECT坐标转换为屏幕坐标系下的RECT坐标.

ScreenToClient把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标.  

你可能感兴趣的:(GetWindowRect,GetClientRect)