在基于对话框的程序中,如何将捕获的鼠标坐标转换成对应控件的客户区坐标?
例如:我又一个Picture控件的ID为:IDC_PREVIEW
在OnLButtonDown(UINT nFlags, CPoint point) 函数中,怎样将捕获的鼠标坐标转换成对应控件的客户区坐标???请赐教,在线等
例如:我又一个Picture控件的ID为:IDC_PREVIEW
在OnLButtonDown(UINT nFlags, CPoint point) 函数中,怎样将捕获的鼠标坐标转换成对应控件的客户区坐标???请赐教,在线等
{
ScreentoClient(point);
CPicture *m_P=(CWND*)this->getItem(IDC_PREVIEW);
CRect m_rect;m_p->GetWindowRect(&m_rect);
point.x-=m_rect.x;
point.y-=m_rect.y;
}
{
ScreentoClient(point);
CPicture *m_P=(CWND*)this->getdlgItem(IDC_PREVIEW);
CRect m_rect;m_p->GetWindowRect(&m_rect);
point.x-=m_rect.x;
point.y-=m_rect.y;
}
这样就可以了吧。
坐标转换可以用ScreenToClient或者直接GetClientRect
m_picture.ScreenToClient(&point);//再将屏幕坐标转换成对应控件的客户坐标