Поделиться через


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

См. также

Ссылки

Класс CBrush

Диаграмма иерархии

CBrush::CreateSolidBrush

CBrush::CreateHatchBrush

CBrush::CreateBrushIndirect

CBrush::CreatePatternBrush

CBrush::CreateDIBPatternBrush

CGdiObject::CreateStockObject