Freigeben über


CRgn::CreateRectRgnIndirect

Erstellt einen rechteckigen Bereich, der im CRgn-Objekt gespeichert wird.

BOOL CreateRectRgnIndirect( 
   LPCRECT lpRect  
);

Parameter

  • lpRect
    Zeigt auf RECT-Struktur oder zu CRect-Objekt, die die logischen Koordinaten von dem linken oberen und der rechten unteren Ecke des Bereichs enthält. Die RECT-Struktur hat das folgende Format:

    typedef struct tagRECT {

    int left;

    int top;

    int right;

    int bottom;

    } RECT;

Rückgabewert

Ungleich 0 (null), wenn der Vorgang erfolgreich war; 0 andernfalls.

Hinweise

Die Größe eines Bereichs ist auf 32.767 durch 32.767 logische Einheiten oder zu von je des Arbeitsspeichers beschränkt, das kleiner ist.

Wenn es mithilfe eines Bereichs beendet, der von CreateRectRgnIndirect erstellt wird, sollte eine Anwendung die CGDIObject::DeleteObject-Memberfunktion verwenden, um den Bereich zu entfernen.

Beispiel

CRgn   rgnA, rgnB, rgnC;

CRect rectA(50, 50, 150, 150);
CRect rectB(100, 50, 200, 150);

VERIFY(rgnA.CreateRectRgnIndirect(&rectA));
VERIFY(rgnB.CreateEllipticRgnIndirect(&rectB));
VERIFY(rgnC.CreateRectRgn( 0, 0, 50, 50 ));

int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_AND );
ASSERT( nCombineResult != ERROR && nCombineResult != NULLREGION );

CBrush brA, brB, brC;
VERIFY(brA.CreateSolidBrush( RGB(255, 0, 0) ));  
VERIFY(pDC->FrameRgn( &rgnA, &brA, 2, 2 ));      // rgnA Red

VERIFY(brB.CreateSolidBrush( RGB(0, 255, 0) ));  
VERIFY(pDC->FrameRgn( &rgnB, &brB, 2, 2 ));      // rgnB Green
VERIFY(brC.CreateSolidBrush( RGB(0, 0, 255) ));  // rgnC Blue
VERIFY(pDC->FrameRgn( &rgnC, &brC, 2, 2 ));

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CRgn-Klasse

Hierarchiediagramm

CRgn::CreateRectRgn

CRgn::CreateRoundRectRgn

CreateRectRgnIndirect