PolyBezier function (wingdi.h)

The PolyBezier function draws one or more Bézier curves.


BOOL PolyBezier(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] DWORD       cpt


[in] hdc

A handle to a device context.

[in] apt

A pointer to an array of POINT structures that contain the endpoints and control points of the curve(s), in logical units.

[in] cpt

The number of points in the lppt array. This value must be one more than three times the number of curves to be drawn, because each Bézier curve requires two control points and an endpoint, and the initial curve requires an additional starting point.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.


The PolyBezier function draws cubic Bézier curves by using the endpoints and control points specified by the lppt parameter. The first curve is drawn from the first point to the fourth point by using the second and third points as control points. Each subsequent curve in the sequence needs exactly three more points: the ending point of the previous curve is used as the starting point, the next two points in the sequence are control points, and the third is the ending point.

The current position is neither used nor updated by the PolyBezier function. The figure is not filled.

This function draws lines by using the current pen.


For an example, see Redrawing in the Update Region.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wingdi.h (include Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

See also

Line and Curve Functions

Lines and Curves Overview