MFC笔记-----CDC 以及绘图

来源:互联网 发布:复杂网络研究什么 编辑:程序博客网 时间:2024/06/05 08:13

CDC

CDC* pDC=GetDC( );     //GetDC( )此时是CWnd  的成员函数..............ReleaseDC(pDC );

这两个函数需配对使用,DC也是一种资源,需要不停分配然后使用,使用完后释放。

CClientDC

void Clesson4View::OnLButtonUp(UINT nFlags, CPoint point){    CClientDC dc(this);    dc.MoveTo(m_startPoint);    dc.LineTo(point);    CView::OnLButtonUp(nFlags, point);}

CClientDC构造函数:

explicit CClientDC(   CWnd* pWnd      //pWnd指向获取要Client区域的窗口);

CClientDC的构造函数会调用GetDC( ),析构函数调用ReleaseDC( ).因此不需要去手动再调用。

选择GDI对象

成员函数 : SelectObject( ) 把自定义的GDI对象选入DC

CPen* SelectObject( CPen* pPen );CBrush* SelectObject( CBrush* pBrush);virtual CFont* SelectObject( CFont* pFont);CBitmap* SelectObject( CBitmap* pBitmap );int SelectObject( CRgn* pRgn );CGdiObject* SelectObject( CGdiObject* pObject);

成员函数 SelectStockObject( ) 加载系统预定义的GDI 如CPen CBursh CFont
比如空画刷 NULL_BRUSH

virtual CGdiObject* SelectStockObject(   int nIndex );
0 0
原创粉丝点击