CDC::RoundRect
Dibuja un rectángulo con esquinas redondeadas mediante el lápiz actual.
BOOL RoundRect(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3
);
BOOL RoundRect(
LPCRECT lpRect,
POINT point
);
Parámetros
x1
Especifica la coordenada x de la esquina superior izquierda del rectángulo (en unidades lógicas).y1
Especifica la coordenada y de la esquina superior izquierda del rectángulo (en unidades lógicas).x2
Especifica la coordenada x de la esquina inferior derecha del rectángulo (en unidades lógicas).y2
Especifica la coordenada y de la esquina inferior derecha del rectángulo (en unidades lógicas).x3
Especifica el ancho de la elipse utilizada para dibujar las esquinas redondeadas (en unidades lógicas).y3
Especifica el alto de la elipse utilizada para dibujar las esquinas redondeadas (en unidades lógicas).lpRect
especifica el rectángulo delimitador en unidades lógicas.Puede pasar un objeto de CRect o un puntero a una estructura de RECT para este parámetro.point
La coordenada x de point especifica el ancho de la elipse para dibujar las esquinas redondeadas (en unidades lógicas).La coordenada y de point especifica el alto de la elipse para dibujar las esquinas redondeadas (en unidades lógicas).Puede pasar una estructura de puntos o un objeto de CPoint para este parámetro.
Valor devuelto
Distinto de cero si la función es correcta; si no 0.
Comentarios
El interior del rectángulo se rellena mediante el pincel actual.
La ilustración que esta función dibuja extiende hasta pero no incluye las coordenadas de la derecha e inferior.esto significa que el alto de la figura es y2 – y1 y el ancho de la figura es x2 – x1.El alto y ancho del rectángulo delimitador deben ser mayores que 2 unidades y menos de 32.767 unidades.
Ejemplo
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);
}
Requisitos
encabezado: afxwin.h