Partilhar via


CDC::RoundRect

Desenhar um retângulo com cantos arredondados usando a caneta atual.

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).

  • x3
    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 retângulo delimitador em unidades lógicas.Você pode passar um objeto de CRect ou um ponteiro a estrutura de RECT para esse parâmetro.

  • point
    A coordenada x de point especifica a largura da elipse para desenhar os cantos arredondados (em unidades lógicas).A coordenada y de point especifica a altura da elipse para desenhar os cantos arredondados (em unidades lógicas).Você pode passar uma estrutura de POINT ou um objeto de CPoint para esse parâmetro.

Valor de retorno

Diferente de zero se a função é com êxito; se não 0.

Comentários

Dentro do retângulo é preenchida usando o pincel atual.

A figura que essa função desenha estende até mas não inclui as coordenadas da direita e inferior.Isso significa que a altura da figura a y2 – y1 e a largura da figura são x2 – x1.A altura e largura do retângulo delimitador devem ser maiores que 2 unidades e menor que 32.767 unidades.

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

Consulte também

Referência

CDC Class

Gráfico de hierarquia

CDC::Rectangle

RoundRect

Classe de CRect

Estrutura RECT

Estrutura do ponto

Classe de CPoint