CRgn::CreateRoundRectRgn
Crea un'area rettangolare con angoli arrotondati archiviata nell'oggetto CRgn.
BOOL CreateRoundRectRgn(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3
);
Parametri
x1
Specifica la coordinata x logica dell'angolo superiore sinistro dell'area.y1
Specifica la coordinata y logica dell'angolo superiore sinistro dell'area.x2
Specifica la coordinata x logica dell'angolo inferiore destro dell'area.y2
Specifica la coordinata y logica dell'angolo inferiore destro dell'area.x3
Specifica la larghezza dell'ellisse utilizzata per creare gli angoli arrotondati.y3
Specifica l'altezza dell'ellisse utilizzata per creare gli angoli arrotondati.
Valore restituito
Diverso da zero se l'operazione ha esito positivo; in caso contrario 0.
Note
La dimensione di un'area è limitata a 32.767 per 32.767 unità logiche o della memoria, le dimensioni inferiori.
Quando un'applicazione viene terminato l'utilizzo di un'area creata con la funzione CreateRoundRectRgn, deve selezionare l'area dal contesto di dispositivo e utilizzare la funzione membro CGDIObject::DeleteObject per rimuoverlo.
Esempio
CRgn rgnA, rgnB, rgnC;
VERIFY(rgnA.CreateRoundRectRgn( 50, 50, 150, 150, 30, 30 ));
VERIFY(rgnB.CreateRoundRectRgn( 200, 75, 250, 125, 50, 50 ));
VERIFY(rgnC.CreateRectRgn( 0, 0, 50, 50 ));
int nCombineResult = rgnC.CombineRgn( &rgnA, &rgnB, RGN_OR );
ASSERT( nCombineResult != ERROR && nCombineResult != NULLREGION );
CBrush brA, brB, brC;
VERIFY(brA.CreateSolidBrush( RGB(255, 0, 0) ));
VERIFY(pDC->FillRgn( &rgnA, &brA)); // rgnA Red Filled
VERIFY(brB.CreateSolidBrush( RGB(0, 255, 0) ));
VERIFY(pDC->FillRgn( &rgnB, &brB)); // rgnB Green Filled
VERIFY(brC.CreateSolidBrush( RGB(0, 0, 255) )); // rgnC Blue
VERIFY(pDC->FrameRgn( &rgnC, &brC, 2, 2 ));
Requisiti
Header: afxwin.h