CDC::RoundRect
Consente di disegnare un rettangolo con angoli arrotondati utilizzando la penna corrente.
BOOL RoundRect(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3
);
BOOL RoundRect(
LPCRECT lpRect,
POINT point
);
Parametri
x1
Specifica la coordinata x dell'angolo superiore sinistro del rettangolo (in unità logiche).y1
Specifica la coordinata y dell'angolo superiore sinistro del rettangolo (in unità logiche).x2
Specifica la coordinata x l'angolo inferiore destro del rettangolo (in unità logiche).y2
Specifica la coordinata y l'angolo inferiore destro del rettangolo (in unità logiche).x3
Specifica la larghezza dell'ellisse utilizzata per disegnare gli angoli arrotondati (in unità logiche).y3
Specifica l'altezza dell'ellisse utilizzata per disegnare gli angoli arrotondati (in unità logiche).lpRect
Specifica il rettangolo di delimitazione in unità logiche.È possibile passare un oggetto CRect o un puntatore a una struttura RECT per questo parametro.point
Coordinata x point specifica la larghezza dell'ellisse per disegnare gli angoli arrotondati (in unità logiche).Coordinata y point specifica l'altezza dell'ellisse per disegnare gli angoli arrotondati (in unità logiche).È possibile passare una struttura di punti o un oggetto CPoint per questo parametro.
Valore restituito
Diverso da zero se la funzione ha esito positivo; in caso contrario 0.
Note
L'interno del rettangolo viene riempito con il pennello corrente.
Nella figura che questa funzione che estende fino a ma non le coordinate del basso e a destra.Ciò significa che l'altezza della figura è y2 – y1 e la larghezza della figura è x2 – x1.Sia l'altezza e la larghezza del rettangolo di delimitazione devono essere maggiori di 2 unità e meno di 32.767 unità.
Esempio
void CDCView::DrawRoundRect(CDC* pDC)
{
// create and select a solid blue brush
CBrush brushBlue(RGB(0, 0, 255));
CBrush* pOldBrush = pDC->SelectObject(&brushBlue);
// create and select a thick, black pen
CPen penBlack;
penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
CPen* pOldPen = pDC->SelectObject(&penBlack);
// get our client rectangle
CRect rect;
GetClientRect(rect);
// shrink our rect 20 pixels in each direction
rect.DeflateRect(20, 20);
// Draw a thick black rectangle filled with blue
// corners rounded at a 17-unit radius. Note that
// a radius of three or less is not noticable because
// the pen is three units wide.
pDC->RoundRect(rect, CPoint(17, 17));
// put back the old objects
pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldPen);
}
Requisiti
Header: afxwin.h