CBrush::CBrush
Создает объект CBrush.
CBrush( );
CBrush(
COLORREF crColor
);
CBrush(
int nIndex,
COLORREF crColor
);
explicit CBrush(
CBitmap* pBitmap
);
Параметры
crColor
Определяет цвет кисти в качестве цвета RGB. Если кисть насижена, то этот параметр определяет цвет штриховки.nIndex
Задает стиль штриховки кисти. Он может быть одним из следующих значений:HS_BDIAGONAL вниз насиживает (слева направо) на 45 градусов
Crosshatch HS_CROSS горизонтальный и вертикальный
Crosshatch HS_DIAGCROSS на 45 градусов
HS_FDIAGONAL вверх насиживает (слева направо) на 45 градусов
Горизонтальная штриховка HS_HORIZONTAL
Штриховка по вертикали HS_VERTICAL
pBitmap
Указывает на CBitmap объект, указывающее растровое изображение, с помощью которого кисть рисует.
Заметки
CBrush имеет 4 перегруженных конструкторов. Конструктор без аргументов создает неинициализированный объект CBrush, который необходимо инициализировать перед использованием.
При использовании конструктора без аргументов, то необходимо инициализировать результирующий объект CBrush с CreateSolidBrush, CreateHatchBrush, CreateBrushIndirect, CreatePatternBrush или CreateDIBPatternBrush. При использовании одного из конструкторов, который принимает аргументы и не существует больше добавочная инициализация не требуется. Конструкторы с аргументами могут генерировать исключения при возникновении ошибок во время выполнения конструктор без аргументов, будет всегда выполняется успешно.
Конструктор с одним параметром COLORREF создает твердую кисть с указанным цветом. Определяет цвета rgb и может быть построен с макросом RGB в WINDOWS.H.
Конструктор с параметрами составляет 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);
Требования
Header: afxwin.h