MFC学习札记

来源:互联网 发布:华中大数据交易中心 编辑:程序博客网 时间:2024/05/11 18:53

1.画线

void CDraw2View::OnLButtonUp(UINT nFlags, CPoint point){// TODO: 在此添加消息处理程序代码和/或调用默认值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);//采用平台SDK的ReleaseDC释放DC。CView::OnLButtonUp(nFlags, point);}


以上采用全局API画线,MFC把所有和作图相关的操作都封装在CDC类中。

使用CDC类画线

CDC *pDC = GetDC(); pDC->MoveTo(m_ptOrigin);pDC->LineTo(point);    ReleaseDC(pDC);


 

使用CClientDC(派生自CDC类)画线:

CClientDC dc(this); dc.MoveTo(m_ptOrigin); dc.LineTo(point);

使用此方法不需要我们手动去调用ReleaseDC.

 

使用CWindowDC

CWindowDC dc(this); dc.MoveTo(m_ptOrigin); dc.LineTo(point);


 

使用此方也不需要我们手动去调用ReleaseDC.

 

如果使用CWindwosDC,可以在非客户区作图

如:

CWindowDC dc(GetParent()); dc.MoveTo(m_ptOrigin); dc.LineTo(point);


 

原创粉丝点击