获得窗口相对于屏幕柜型的问题
GetClientRect(m_hWnd,&m_rcWin);
ClientToScreen(m_hWnd,(LPPOINT)&m_rcWin);
//(LPPOINT)&m_rcWin把RECT变成什么样子了?
ClientToScreen(m_hWnd,(LPPOINT)&m_rcWin+1);
//为什么要+1?RECT的结构是什么样的?
不明白为什么上面两句就能把窗口此时相对于屏幕的柜型值赋给m_rcWin?
---------------------------
GetClientRect(m_hWnd,&m_rcWin);
POINT pt;
ClientToScreen(m_hWnd,&pt);
OffsetRect(m_rcWin,pt.x,pt.y);
和上面的那几句效果一样吗?
[解决办法]
可以就可以,不可以就不可以,一用便知,!
GetClientRect(m_hWnd,&m_rcWin);
POINT pt={0,0};
ClientToScreen(m_hWnd,&pt);
OffsetRect(m_rcWin,pt.x,pt.y);
这部分代码能得到正确结果!
BOOL OffsetRect(LPRECT lprc, int dx, int dy);
这个函数的作用将 lprc所指向的矩形移动(dx,dy)的距
当左上角的坐标为(0,0)时,这就相当于移动到点(dx,dy)了!
这也是我强调的m_rcWin.left和m_rcWin.top都是为0。