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 物件,才能使用。
如果您使用建構函式沒有引數,您必須使用 CreateSolidBrush、 CreateHatchBrush、 CreateBrushIndirect、 CreatePatternBrush或 CreateDIBPatternBrush產生的 CBrush 物件。 如果您使用接受引數的其中一個建構函式,然後再進一步初始化不是必要的。 使用引數的建構函式可以擲回例外狀況,如果發生錯誤,,而沒有引數的建構函式一定會成功。
使用單一 COLORREF 參數的建構函式來建構的指定色彩的實心筆刷。 指定 RGB 色彩值,而且是使用在 WINDOWS.H. 的 RGB 巨集。
具有兩個參數的建構函式建構規劃筆刷。 nIndex 參數指定已規劃樣式的索引。 crColor 參數指定色彩。
使用 CBitmap 參數的建構函式建構一個圖樣筆刷。 參數會識別點陣圖。 您可以使用 CBitmap::CreateBitmap、 CBitmap::CreateBitmapIndirect、 CBitmap::LoadBitmap或 CBitmap::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