首先,利用MFC建立一个单文档的程序!
为view类添加一个私有成员,m_MousePos,类型是CPoint,初始化为0。
添加WM_MOUSEMOVE函数,重写如下:
void CMouseMoveView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_MousePos = point; //将鼠标当前的位置赋给成员变量
Invalidate(true); //刷新客户区窗口
CView::OnMouseMove(nFlags, point);
}
在OnDraw函数中输出鼠标的位置:
void CMouseMoveView::OnDraw(CDC* pDC)
{
CMouseMoveDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
CString str;
str.Format("X 的位置: %d", m_MousePos.x);
pDC->TextOut(m_MousePos.x+20, m_MousePos.y, str);
str.Format("Y 的位置: %d", m_MousePos.y);
pDC->TextOut(m_MousePos.x+20, m_MousePos.y+20, str);
}