void CMyView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
/*利用API函数进行绘图*/
方法一:
HDC hdc;
hdc=::GetDC(NULL);//对整个桌面
hdc=::GetDC(m_hWnd);//获取窗口的设备描述表
MoveToEx(hdc,m_Start.x,m_Start.y,NULL);//最后一个参数表示的是调用该函数之前坐标的位置,为NULL表示不用保存该值
LineTo(hdc,point.x,point.y);//画线
::ReleaseDC(m_hWnd,hdc);//释放设备描述表
/*利用API函数进行绘图结束*/
方法二:
/*利用CDC封装类进行绘图,绘图的范围是视图区*/
/CDC *pDC=GetDC();//CWnd类的成员函数
pDC->MoveTo(m_Start);//当前点移动到改点
pDC->LineTo(point);//划线,从m_Start到point
ReleaseDC(pDC);
方法三:
/*利用CClientDC类绘图,注意不用获取设备描述表,也不用释放设备句柄*/
CClientDC dc(this);//这个是在视类画图
// CClientDC dc(GetParent());//这个是获取视类窗口的父窗口
dc.MoveTo(m_Start);
dc.LineTo(point);
方法四:
/*CWindowDC类画图*/
/*
// CWindowDC dc(this);//和客户区关联
// CWindowDC dc(GetParent());//框架区都可以画图
CWindowDC dc(GetDesktopWindow());//整个桌面都可以画图
dc.MoveTo(m_Start);
dc.LineTo(point);
*/
/*CWindowDC绘图结束*/
CView::OnLButtonUp(nFlags, point);
}