CBrush::CBrush
CBrush オブジェクトを構築します。
CBrush( );
CBrush(
COLORREF crColor
);
CBrush(
int nIndex,
COLORREF crColor
);
explicit CBrush(
CBitmap* pBitmap
);
パラメーター
crColor
RGB カラーとしてブラシの前景色を指定します。ブラシができる場合、このパラメーターは工夫の色を指定します。nIndex
ブラシのハッチ スタイルを指定します。次のいずれかの値になります。HS_BDIAGONAL は 45 度の下に (左から右) できるします
HS_CROSS の水平方向と垂直方向のあや表示イメージ
45 度目の あやイメージのHS_DIAGCROSS
HS_FDIAGONAL は 45 度昇順 (左から右) できるします
HS_HORIZONTAL の水平ハッチ
HS_VERTICAL の垂直ハッチ
pBitmap
CBitmap にポイントしますブラシで描画するビットマップを指定する。
解説
CBrush に 4 人のオーバーロードされたコンストラクターがあります。引数なしのコンストラクターが使用する前に初期化する必要がある CBrush の初期化されていないオブジェクトを構築します。
引数を持たないコンストラクターを使用すると、CreateSolidBrush、CreateHatchBrush、CreateBrushIndirect、CreatePatternBrush、または CreateDIBPatternBrushの CBrush 結果のオブジェクトを初期化する必要があります。コンストラクターの 1 つを使用すると、追加の初期化は必要ではありません。引数を持つコンストラクターには引数なしのコンストラクターは常に成功しますがエラーが発生した場合、例外をスローすることができます。
COLORREF の単一のパラメーターのコンストラクターは、指定された色のソリッド ブラシを構築します。色を RGB 値を指定し、WINDOWS.H.の RGB のマクロに作成できます。
2 個のパラメーターを持つコンストラクターは、ハッチ ブラシを構築します。nIndex のパラメーターは、ハッチ パターンのインデックスを指定します。crColor のパラメーターは色を指定します。
CBitmap のパラメーターのコンストラクターは、ダミー済みブラシを構築します。パラメーターは、ビットマップを識別します。ビットマップは CBitmap::CreateBitmap、CBitmap::CreateBitmapIndirect、CBitmap::LoadBitmap、または CBitmap::CreateCompatibleBitmapを使用して作成されたと見なされます。塗りつぶしパターンに 8 ピクセルで使用するビットマップの最小サイズは 8 ピクセルです。
使用例
// CBrush::CBrush.
CBrush brush1; // Must initialize!
brush1.CreateSolidBrush(RGB(0, 0, 255)); // Blue brush.
CBrush* pTempBrush = NULL;
CBrush OrigBrush;
CRect rc;
GetClientRect(&rc);
ScreenToClient(&rc);
pTempBrush = (CBrush*)pDC->SelectObject(&brush1);
// Save original brush.
OrigBrush.FromHandle((HBRUSH)pTempBrush);
// Paint upper left corner with blue brush.
pDC->Rectangle(0, 0, rc.Width() / 2, rc.Height() / 2);
// These constructors throw resource exceptions.
try
{
// CBrush::CBrush(COLORREF crColor)
CBrush brush2(RGB(255, 0, 0)); // Solid red brush.
// CBrush::CBrush(int nIndex, COLORREF crColor)
// Hatched green brush.
CBrush brush3(HS_DIAGCROSS, RGB(0, 255, 0));
// CBrush::CBrush(CBitmap* pBitmap)
CBitmap bmp;
// Load a resource bitmap.
bmp.LoadBitmap(IDB_BRUSH);
CBrush brush4(&bmp);
pTempBrush = (CBrush*)pDC->SelectObject(&brush2);
// Paint upper right corner with red brush.
pDC->Rectangle(rc.Width() / 2, 0, rc.Width(),
rc.Height() / 2);
pTempBrush = (CBrush*)pDC->SelectObject(&brush3);
// Paint lower left corner with green hatched brush.
pDC->Rectangle(0, rc.Height() / 2, rc.Width() / 2,
rc.Height());
pTempBrush = (CBrush*)pDC->SelectObject(&brush4);
// Paint lower right corner with resource brush.
pDC->Rectangle(rc.Width() / 2, rc.Height() / 2,
rc.Width(), rc.Height());
}
catch(CResourceException* e)
{
e->ReportError();
e->Delete();
}
// Reselect original brush into device context.
pDC->SelectObject(&OrigBrush);
必要条件
ヘッダー: afxwin.h