Arc

The Arc function draws an elliptical arc.

BOOL Arc(
  HDC hdc,         // handle to device context
  int nLeftRect,   // x-coord of bounding rectangle's upper-left corner
  int nTopRect,    // y-coord of bounding rectangle's upper-left corner
  int nRightRect,  // x-coord of bounding rectangle's lower-right corner
  int nBottomRect, // y-coord of bounding rectangle's lower-right corner
  int nXStartArc,  // first radial ending point
  int nYStartArc,  // first radial ending point
  int nXEndArc,    // second radial ending point
  int nYEndArc     // second radial ending point
);
 

Parameters

hdc
Handle to the device context where drawing takes place.
nLeftRect
Specifies the logical x-coordinate of the upper-left corner of the bounding rectangle.

Windows 95 and Windows 98: The sum of nLeftRect plus nRightRect must be less than 32768.

nTopRect
Specifies the logical y-coordinate of the upper-left corner of the bounding rectangle.

Windows 95 and Windows 98: The sum of nTopRect plus nBottomRect must be less than 32768.

nRightRect
Specifies the logical x-coordinate of the lower-right corner of the bounding rectangle.

Windows 95 and Windows 98: The sum of nLeftRect plus nRightRect must be less than 32768.

nBottomRect
Specifies the logical y-coordinate of the lower-right corner of the bounding rectangle.

Windows 95 and Windows 98: The sum of nTopRect plus nBottomRect must be less than 32768.

nXStartArc
Specifies the logical x-coordinate of the ending point of the radial line defining the starting point of the arc.
nYStartArc
Specifies the logical y-coordinate of the ending point of the radial line defining the starting point of the arc.
nXEndArc
Specifies the logical x-coordinate of the ending point of the radial line defining the ending point of the arc.
nYEndArc
Specifies the logical y-coordinate of the ending point of the radial line defining the ending point of the arc.

Return Values

If the arc is drawn, the return value is nonzero.

If the arc is not drawn, the return value is zero.

Windows NT: To get extended error information, call GetLastError.

Remarks

The points (nLeftRect, nTopRect) and (nRightRect, nBottomRect) specify the bounding rectangle. An ellipse formed by the specified bounding rectangle defines the curve of the arc. The arc extends in the current drawing direction from the point where it intersects the radial from the center of the bounding rectangle to the (nXStartArc, nYStartArc) point. The arc ends where it intersects the radial from the center of the bounding rectangle to the (nXEndArc, nYEndArc) point. If the starting point and ending point are the same, a complete ellipse is drawn.

The arc is drawn using the current pen; it is not filled.

The current position is neither used nor updated by Arc.

Windows 95 and Windows 98: The drawing direction is always counterclockwise.

Windows NT: Use the GetArcDirection and SetArcDirection functions to get and set the current drawing direction for a device context. The default drawing direction is counterclockwise.

Windows 95 and Windows 98: The sum of the coordinates of the bounding rectangle cannot exceed 32,767. The sum of nLeftRect and nRightRect or nTopRect and nBottomRect parameters cannot exceed 32,767.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in wingdi.h.
  Import Library: Use gdi32.lib.

See Also

Lines and Curves Overview, Line and Curve Functions, AngleArc, ArcTo, Chord, Ellipse, GetArcDirection, Pie, SetArcDirection