Freigeben über


CBrush::CBrush

Erstellt ein CBrush-Objekt.

CBrush( ); 
CBrush( 
   COLORREF crColor  
); 
CBrush( 
   int nIndex, 
   COLORREF crColor  
); 
explicit CBrush( 
   CBitmap* pBitmap  
);

Parameter

  • crColor
    Gibt die Vordergrundfarbe des Pinsels als RGB-Farbe an. Wenn der Pinsel schraffiert ist, enthält dieser Parameter die Farbe der Schraffur an.

  • nIndex
    Gibt den Schraffurstil des Pinsels an. Er kann einen der folgenden Werte aufweisen:

    • HS_BDIAGONAL schraffieren nach unten (von links nach rechts) unter 45 Grad

    • horizontale und vertikale Kreuzschraffur HS_CROSS

    • HS_DIAGCROSS Kreuzschraffur bei 45 Grad

    • HS_FDIAGONAL Schraffur nach oben (von links nach rechts) unter 45 Grad

    • horizontale Schraffur HS_HORIZONTAL

    • vertikale Schraffur HS_VERTICAL

  • pBitmap
    Zeigt auf CBitmap ein Objekt, das eine Bitmap angibt, mit der der Pinsel gezeichnet wird.

Hinweise

CBrush verfügt über vier überladene Konstruktoren. Der Konstruktor ohne Argumente erstellt einen nicht initialisierten Objekt, das CBrush initialisiert werden muss, bevor er verwendet werden kann.

Wenn Sie den Konstruktor ohne Argumente verwenden, müssen Sie das resultierende CBrush-Objekt mit CreateSolidBrush, CreateHatchBrush, CreateBrushIndirect, CreatePatternBrush oder CreateDIBPatternBrush initialisieren. Wenn Sie einen der Konstruktoren verwenden, die Argumente akzeptiert, ist keine weitere Initialisierung erforderlich. Die Konstruktoren mit Argumenten können eine Ausnahme auslösen, wenn Fehler auftreten, während der Konstruktor ohne Argumente immer folgt.

Der Konstruktor mit einem einzelnen Parameter erstellt COLORREF eines Volltonpinsels mit der angegebenen Farbe. Die Farbe gibt einen RGB-Wert an und kann mit dem RGB-Makro in WINDOWS.H. erstellt werden.

Der Konstruktor mit zwei Parametern erstellt ein Schraffurpinsel. Der nIndex-Parameter gibt den Index einer Schraffur an. Der crColor-Parameter gibt die Farbe an.

Der Konstruktor mit einem Parameter CBitmap erstellt einen Pinsel kopiert haben. Der Parameter identifiziert eine Bitmap. Die Bitmap wird angenommen, erstellt worden sein, indem CBitmap::CreateBitmap, CBitmap::CreateBitmapIndirect, CBitmap::LoadBitmap oder CBitmap::CreateCompatibleBitmap verwendet. Die minimale Größe, damit eine Bitmap in einem Füllmuster verwendet werden kann ist 8 Pixel x 8 Pixel.

Beispiel

// 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);

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CBrush-Klasse

Hierarchiediagramm

CBrush::CreateSolidBrush

CBrush::CreateHatchBrush

CBrush::CreateBrushIndirect

CBrush::CreatePatternBrush

CBrush::CreateDIBPatternBrush

CGdiObject::CreateStockObject