次の方法で共有


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 の初期化されていないオブジェクトを構築します。

引数を持たないコンストラクターを使用すると、CreateSolidBrushCreateHatchBrushCreateBrushIndirectCreatePatternBrush、または CreateDIBPatternBrushCBrush 結果のオブジェクトを初期化する必要があります。コンストラクターの 1 つを使用すると、追加の初期化は必要ではありません。引数を持つコンストラクターには引数なしのコンストラクターは常に成功しますがエラーが発生した場合、例外をスローすることができます。

COLORREF の単一のパラメーターのコンストラクターは、指定された色のソリッド ブラシを構築します。色を RGB 値を指定し、WINDOWS.H.の RGB のマクロに作成できます。

2 個のパラメーターを持つコンストラクターは、ハッチ ブラシを構築します。nIndex のパラメーターは、ハッチ パターンのインデックスを指定します。crColor のパラメーターは色を指定します。

CBitmap のパラメーターのコンストラクターは、ダミー済みブラシを構築します。パラメーターは、ビットマップを識別します。ビットマップは CBitmap::CreateBitmapCBitmap::CreateBitmapIndirectCBitmap::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

参照

関連項目

CBrush クラス

階層図

CBrush::CreateSolidBrush

CBrush::CreateHatchBrush

CBrush::CreateBrushIndirect

CBrush::CreatePatternBrush

CBrush::CreateDIBPatternBrush

CGdiObject::CreateStockObject