CDC::RoundRect
Desenha um retângulo com cantos arredondados usando a caneta corrente.
BOOL RoundRect(
int x1,
int y1,
int x2,
int y2,
int x3,
int y3
);
BOOL RoundRect(
LPCRECT lpRect,
POINT point
);
Parâmetros
x1
Especifica a coordenada x do canto superior esquerdo do retângulo (em unidades lógicas).y1
Especifica a coordenada y do canto superior esquerdo do retângulo (em unidades lógicas).x2
Especifica a coordenada x do canto inferior direito do retângulo (em unidades lógicas).y2
Especifica a coordenada y do canto inferior direito do retângulo (em unidades lógicas).x 3
Especifica a largura da elipse usada para desenhar os cantos arredondados (em unidades lógicas).y3
Especifica a altura da elipse usada para desenhar os cantos arredondados (em unidades lógicas).lpRect
Especifica o limite de retângulo em unidades lógicas.Você pode passar em um CRect objeto ou um ponteiro para um RECT estrutura para este parâmetro.point
A coordenada x do point Especifica a largura da elipse para desenhar os cantos arredondados (em unidades lógicas). A coordenada y do point Especifica a altura da elipse para desenhar os cantos arredondados (em unidades lógicas). Você pode passar em um PONTO estrutura ou um CPoint objeto para esse parâmetro.
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário, 0.
Comentários
O interior do retângulo é preenchido usando o pincel corrente.
A figura que essa função desenha se estende até, mas não inclui as coordenadas direita e inferior.Isso significa que a altura da figura é y2 – y1 e é a largura da Figura x2 – x1. A altura e a largura do retângulo delimitador devem ser maior que 2 unidades e unidades menores que 32.767.
Exemplo
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
Cabeçalho: afxwin.h