CDC::Rectangle

Draws a rectangle using the current pen.

BOOL Rectangle( 
   int x1, 
   int y1, 
   int x2, 
   int y2  
); 
BOOL Rectangle( 
   LPCRECT lpRect  
);

Parameters

  • x1
    Specifies the x-coordinate of the upper-left corner of the rectangle (in logical units).

  • y1
    Specifies the y-coordinate of the upper-left corner of the rectangle (in logical units).

  • x2
    Specifies the x-coordinate of the lower-right corner of the rectangle (in logical units).

  • y2
    Specifies the y-coordinate of the lower-right corner of the rectangle (in logical units).

  • lpRect
    Specifies the rectangle in logical units. You can pass either a CRect object or a pointer to a RECT structure for this parameter.

Return Value

Nonzero if the function is successful; otherwise 0.

Remarks

The interior of the rectangle is filled using the current brush.

The rectangle extends up to, but does not include, the right and bottom coordinates. This means that the height of the rectangle is y2 – y1 and the width of the rectangle is x2 – x1. Both the width and the height of a rectangle must be greater than 2 units and less than 32,767 units.

Example

void CDCView::DrawRectangle(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
   pDC->Rectangle(rect);

   // put back the old objects
   pDC->SelectObject(pOldBrush);
   pDC->SelectObject(pOldPen);
}

Requirements

Header: afxwin.h

See Also

Reference

CDC Class

Hierarchy Chart

Rectangle

CDC::Polyline

CDC::RoundRect

RECT Structure

CRect Class