小弟新建了一个基于对话框的MFC程序
原来的坐标轴原点在对话框的左上角,x正向朝右,y正向朝下
我现在想把这个坐标系下的点的坐标值 变换成自己的坐标系(原点在对话框上的一个位置,然后x轴正向右,y轴正向上)下的值,怎么弄呢?用ScreenToClient好像不可以...
LPPOINT P=new POINT();
P->x=point.x;
P->y=point.y;
::ScreenToClient(m_hWnd,P);
我是这样用的,得到的坐标不对,而且会随着对话框的移动而改变
原来的坐标轴原点在对话框的左上角,x正向朝右,y正向朝下
我现在想把这个坐标系下的点的坐标值 变换成自己的坐标系(原点在对话框上的一个位置,然后x轴正向右,y轴正向上)下的值,怎么弄呢?用ScreenToClient好像不可以...
LPPOINT P=new POINT();
P->x=point.x;
P->y=point.y;
::ScreenToClient(m_hWnd,P);
我是这样用的,得到的坐标不对,而且会随着对话框的移动而改变
void CRygWnd::SetMapping(CDC* pDC)
{
CRect clientRect;
GetClientRect(clientRect);
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(1000, 2000);
pDC->SetViewportExt(clientRect.right, -clientRect.bottom);
pDC->SetViewportOrg(clientRect.right / 2, clientRect.bottom / 2);
}
void CRygWnd::SetMapping(CDC* pDC)
{
CRect clientRect;
GetClientRect(clientRect);
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(1000, 2000);
pDC->SetViewportExt(clientRect.right, -clientRect.bottom);
pDC->SetViewportOrg(clientRect.right / 2, clientRect.bottom / 2);
}