利用CPen画自定义线条和CBrush填充自定义区域。
一、CPen的使用。
//构造画笔
CPen myPen1(PS_SOLID, 2,RGB(255,0,0));
CClientDC dc( this);
//将画笔选入DC
CPen *pOldPen = dc.SelectObject( &myPen1 );
dc.MoveTo( m_starpoint );
dc.LineTo( point );
//恢复默认的画笔
dc.SelectObject( pOldPen );
二、CBrush的使用。
1、普通画刷
CBrush brush( RGB( 0, 255, 0 ) );//创建画刷
CClientDC dc( this);//创建DC
dc.FillRect( CRect( m_starpoint, point ),&brush );//填充矩形
2、位图画刷
//创建一个位图并加载资源中的位图
CBitmap bitmap;
bitmap.LoadBitmap( IDB_BITMAP1 );
CBrush brush( &bitmap );//创建位图画刷
CClientDC dc( this);//创建DC
dc.FillRect( CRect( m_starpoint, point ),&brush );//填充矩形
3、透明画刷
//获取一个透明的画刷
CBrush *pbrush = CBrush::FromHandle( (HBRUSH)GetStockObject(NULL_BRUSH) );
CClientDC dc( this);
CBrush *poldbrush = dc.SelectObject( pbrush );
dc.Rectangle( CRect( m_starpoint, point ) );
dc.SelectObject( poldbrush );