共用方式為


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 有四個多載建構函式。沒有引數的建構函式建構函式必須初始化的未初始化的 CBrush 物件,才能使用。

如果您使用建構函式沒有引數,您必須使用 CreateSolidBrushCreateHatchBrushCreateBrushIndirectCreatePatternBrushCreateDIBPatternBrush產生的 CBrush 物件。 如果您使用接受引數的其中一個建構函式,然後再進一步初始化不是必要的。 使用引數的建構函式可以擲回例外狀況,如果發生錯誤,,而沒有引數的建構函式一定會成功。

使用單一 COLORREF 參數的建構函式來建構的指定色彩的實心筆刷。 指定 RGB 色彩值,而且是使用在 WINDOWS.H. 的 RGB 巨集。

具有兩個參數的建構函式建構規劃筆刷。 nIndex 參數指定已規劃樣式的索引。 crColor 參數指定色彩。

使用 CBitmap 參數的建構函式建構一個圖樣筆刷。 參數會識別點陣圖。 您可以使用 CBitmap::CreateBitmapCBitmap::CreateBitmapIndirectCBitmap::LoadBitmapCBitmap::CreateCompatibleBitmap,點陣圖假設已經建立。 用來填滿圖樣可以點陣圖的最小大小是 8 x 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);

需求

Header: afxwin.h

請參閱

參考

CBrush 類別

階層架構圖

CBrush::CreateSolidBrush

CBrush::CreateHatchBrush

CBrush::CreateBrushIndirect

CBrush::CreatePatternBrush

CBrush::CreateDIBPatternBrush

CGdiObject::CreateStockObject