CPen和CBrush的使用

利用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 );

你可能感兴趣的:(c++)