vs2008 MFC 画线

1.打开项目的类视图

2.右击CxxView,添加消息

3.编辑回调函数(过程函数)

4.添加CPoint类,用以保存鼠标的初始位置

void CDrawView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_ptOrigin=point;                                                                               //   m_ptOrigin是全局变量用以保存初始点
CView::OnLButtonDown(nFlags, point);
}

void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
/*HDC hdc;     
hdc=::GetDC(m_hWnd);                                                                       //得到当前view的句柄
MoveToEx(hdc, m_ptOrigin.x, m_ptOrigin.y, NULL );
LineTo(hdc, point.x ,point.y );
::ReleaseDC(m_hWnd,hdc);  */ //必须释放dc句柄(方法1)

CDC *cdc=GetDC();(方法二)
cdc->MoveTo(m_ptOrigin);
cdc->LineTo( point);
ReleaseDC(cdc);

CClientDC dc(this);(方法三)
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);

画笔:

     CPen pen(PS_SOLTD,1,RGB(255.0.0));

      CPen *pOLDPen=dc.SelectObject(&pen);

       dc.SelectObject(pOLDPEN);

CView::OnLButtonUp(nFlags, point);
}

posted @ 2012-07-31 09:42  黑-色-柳—丁  阅读(1271)  评论(0编辑  收藏  举报