第一个问题自己动动脑就有了,是一个初中生都会的计算。第二个问题:
#define ID_XYINFO 2000
CStatusBar* pStatus =
(CStatusBar*)AfxGetApp()->m_pMainWnd
->GetDescendantWindow(ID_VIEW_STATUS_BAR);
Info.Format("x=%d,y=%d",x,y);
pStatus->SetPaneInfo(1,ID_XYINFO,SBPS_NOBORDERS,350);
pStatus->SetPaneText(1,Info);
#define ID_XYINFO 2000
CStatusBar* pStatus =
(CStatusBar*)AfxGetApp()->m_pMainWnd
->GetDescendantWindow(ID_VIEW_STATUS_BAR);
Info.Format("x=%d,y=%d",x,y);
pStatus->SetPaneInfo(1,ID_XYINFO,SBPS_NOBORDERS,350);
pStatus->SetPaneText(1,Info);
是不是不要m_point[]?
{
CClientDC dc(this);
dc.TextOut(x,y,"%d %d",x,y);
CBrush brush(RGB(192,192,120));
CBrush* pOldBrush=dc.SelectObject(&brush);
dc.rect(x,y,20,10);
InvalidateRect(&rect,FALSE);
dc.SelectObject(pOldBrush);
}
CRect rect(x,y,20,10);
CString str;
str.Format(“%d,%d", x,y);
dc.TextOut(x,y,&str);
InvalidateRect(&rect,FALSE);
我只是提供一个思路,具体函数参考一下msdn即可
这应该加到View类里吧,可是我不知道如何加。我的View类的鼠标响应函数没什么代码,它们主要调用DrawTool类里的相关函数。
InvalidateRect有三个参数,第一个是HWND参数,我不知如何取。
里面实现控制图形缩放是使用了CRectTrack类
捕获鼠标坐标只需要SetCapture()就可以在mousemove里面处理了。