// CdrewView 消息处理程序void CdrewView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//MessageBox(_T("mouse click"));
m_cpoint=(int)point.x,(int)point.y;
CView::OnLButtonDown(nFlags, point);
}void CdrewView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
HDC hdc;
hdc=::GetDc(m_hWnd);
MoveToEx(hdc,m_cpoint.x,m_cpoint.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
CView::OnLButtonUp(nFlags, point);
}
drewView.cpp
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(117) : error C2039: “GetDc”: 不是“`global namespace'”的成员
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(117) : error C3861: “GetDc”: 找不到标识符
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(118) : error C2228: “.x”的左边必须有类/结构/联合
1> 类型是“int”
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(118) : error C2228: “.y”的左边必须有类/结构/联合
1> 类型是“int”
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//MessageBox(_T("mouse click"));
m_cpoint=(int)point.x,(int)point.y;
CView::OnLButtonDown(nFlags, point);
}void CdrewView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
HDC hdc;
hdc=::GetDc(m_hWnd);
MoveToEx(hdc,m_cpoint.x,m_cpoint.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
CView::OnLButtonUp(nFlags, point);
}
drewView.cpp
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(117) : error C2039: “GetDc”: 不是“`global namespace'”的成员
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(117) : error C3861: “GetDc”: 找不到标识符
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(118) : error C2228: “.x”的左边必须有类/结构/联合
1> 类型是“int”
1>d:\my documents\visual studio 2005\projects\drew\drew\drewview.cpp(118) : error C2228: “.y”的左边必须有类/结构/联合
1> 类型是“int”
m_cpoint=(int)point.x,(int)point.y;
{
// TODO: Add your message handler code here and/or call default
m_ptOrigin=m_ptOld=point;
m_bDraw=TRUE;
CView::OnLButtonDown(nFlags, point);
}void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
HDC hdc;
hdc=::GetDC(m_hWnd);
MoveToEx(hdc,m_ptOrigin.x,m_ptOrigin.y,NULL);
LineTo(hdc,point.x,point.y);
::ReleaseDC(m_hWnd,hdc);
CDC *pDC=GetDC();
pDC->MoveTo(m_ptOrigin);
pDC->LineTo(point);
ReleaseDC(pDC); CView::OnLButtonUp(nFlags, point);
}
注意:m_ptOrigin和m_ptOld是定义的两个Cpoint类型的变量
=============
应该是:hdc=::GetDC(m_hWnd);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
比较简单