创建画笔使用CPen类:
CPen有三个构造函数:
CPen( ); CPen( int nPenStyle, int nWidth, COLORREF crColor ); CPen( int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL );
CPen pen(PS_SOLID, 1, RGB( 255, 0, 0));
CDC *pDC = GetDC(); //创建设备上下文
CPen *pOldPen = pDC->SelectObject(&pen);//选择创建的画笔之前应该先把原始的画笔保存,应用之后再恢复
..............
dc.SelectObject(pOldPen);
ReleaseDC(pDC);//记得销毁设备上下文
//**********************************************************************
CClientDC 和CDC的区别和联系:
1、CClientDC从CDC派生
2、使用CDC时 GetDC()和RealeaseDC()必须成对出现
3、使用CClientDC时:CClientDC会自己在构成函数中调用GetDC(),并且在析构函数中自己调用ReleaseDC()
//***********************************************************************
画刷的使用:
CBrush bsh(RGB(255, 0, 0));
CClientDC dc(this);
dc.FillRect(CRect(m_ptOrigin, point), &bsh);
创建一个位图的画刷:
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CBrush brush(&bitmap);
CClientDC dc(this);
dc.FillRect(CRect(m_ptOrigin, point), &brush);
CWnd::OnLButtonUp(nFlags, point);