CDC CClientDC CPen CBrush使用

//创建一个DC画一条线,然后释放DC

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

 

//创建一个ClientDC画一条线,不用释放DC

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

 

//创建一个ClientDC和Pen,画线,然后还原之前的pen

CClientDC dc(this);

CPen pen(PS_SOLID,10,RGB(0,255,255);
Cpen *pOldPen = dc.SelectObject(&pen);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
dc.SelectObject(pOldPen);

 

//创建一个ClientDC和Brush,画矩形

CClientDC dc(this);
CBrush brush(RGB(255,0,0));
dc.FillRect(CRect(m_ptOrigin,point),&brush);

 

//创建位图画刷
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CBrush brush(&bitmap);
CClientDC dc(this);
dc.FillRect(CRect(m_ptOrigin,point),&brush);

 

 

//创建一个ClientDC和Brush,透明画刷

CClientDC dc(this);
CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH))
CBrush *pOldBrush = dc.SelectObject(pBrush);
dc.Rectangle(CRect(m_ptOrigin,point));
dc.SelectObject(pOldBrush);

 

 

//创建一个ClientDC,Pen和Brush透明画刷

 CClientDC dc(this);
 CPen pen(PS_SOLID,3,RGB(0,255,0));
 CPen *pOldPen = dc.SelectObject(&pen);
 CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
 CBrush *pOldBrush = dc.SelectObject(pBrush);
 dc.Rectangle(300,20,350,70);

 dc.SelectObject(pOldPen);
 dc.SelectObject(pBrush);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章