您的位置:首页 > 其它

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

2015-10-31 13:27 441 查看

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
);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CDC