CBrush::CreatePatternBrush
更新 : 2007 年 11 月
ビットマップにより指定されたパターンでブラシを初期化します。
BOOL CreatePatternBrush(
CBitmap* pBitmap
);
パラメータ
- pBitmap
ビットマップを識別します。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
初期化されたブラシは、ラスタ操作をサポートする任意のデバイス コンテキスト用に選択できるようになります。pBitmap により識別されるビットマップは、主に CBitmap::CreateBitmap、CBitmap::CreateBitmapIndirect、CBitmap::LoadBitmap、CBitmap::CreateCompatibleBitmap の各関数を使って初期化されます。
ビットマップは 8 ピクセル × 8 ピクセルの塗りつぶしパターンに使われます。ビットマップが大きいときは、Windows では、ビットマップの左上の 8 行、8 列のビットだけが使われます。
パターン ブラシは、関連するビットマップに影響を与えずに削除できます。つまり、同じビットマップを使って、パターン ブラシをいくつも作成できます。
モノクロ ビットマップ (1 つのカラー プレーンを持ち、1 つのピクセルに 1 ビットが対応する) でブラシが作られたときは、現在のテキストの色と背景色で描画します。0 に設定されたビットで表されるピクセルは、現在のテキストの色で描画されます。1 に設定されたビットで表されるピクセルは、現在の背景色で描画されます。
Windows の CreatePatternBrush 関数の使い方の詳細については、Windows SDK を参照してください。
使用例
// Create a hatched bit pattern.
WORD HatchBits[8] = { 0x11, 0x22, 0x44, 0x88, 0x11,
0x22, 0x44, 0x88 };
// Use the bit pattern to create a bitmap.
CBitmap bm;
bm.CreateBitmap(8,8,1,1, HatchBits);
// Create a pattern brush from the bitmap.
CBrush brush;
brush.CreatePatternBrush(&bm);
// Select the brush into a device context, and draw.
CBrush* pOldBrush = (CBrush*)pDC->SelectObject(&brush);
pDC->RoundRect(CRect(50, 50, 200, 200), CPoint(10,10));
// Restore the original brush.
pDC->SelectObject(pOldBrush);
必要条件
ヘッダー : afxwin.h