BCX_POLYBEZIER function
Purpose: BCX_POLYBEZIER function draws one or more Bézier
curves.
Syntax:
RetVal% = BCX_POLYBEZIER(hWnd, _
pPoints, _
numPoints% _
[, Pen] _
[, DrawHDC])
Parameters:
- hWnd Identifies the window where drawing takes
place.
- pPoints Pointer to an array of POINT structures that
contain the endpoints and control points of the curve(s).
- numPoints% Specifies the number of points in the pPoints
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.
- Pen [OPTIONAL] integer
representing the RGB color code. The default is 0 which is a black
pen.
- DrawHDC [OPTIONAL] HDC(Handle to
Device Context) pointing to an already open HDC. This is useful if
a device context is to be written to many times. In this case the
programmer is responsible for closing the HDC at the appropriate
time.
Return Value:
- RetVal% is a nonzero integer if the function succeeds,
zero if the function fails.
|
Here is an example of the BCX_POLYBEZIER function.
GUI "BCX_POLYBEZIER"
DIM pPoints[10] AS POINT
SUB FORMLOAD
GLOBAL Form1 AS HWND
DIM i%
DIM pi2#
pi2# = 8 * ATN(1.)
FOR i = 0 TO 9
pPoints[i%].x = 110 + SIN(pi2#*i/10) * 10 * i
pPoints[i%].y = 110 + COS(pi2#*i/10) * 10 * i
NEXT
Form1 = BCX_FORM("BCX_POLYBEZIER", 0, 0, 110, 110)
BCX_SET_FORM_COLOR(Form1,QBCOLOR(31))
CENTER(Form1)
SHOW(Form1)
END SUB
BEGIN EVENTS
SELECT CASE CBMSG
CASE WM_PAINT
CALL DrawStuff
CASE WM_CLOSE
DestroyWindow(Form1)
EXIT FUNCTION
END SELECT
END EVENTS
SUB DrawStuff
DIM RAW RetVal%
RetVal% = BCX_POLYBEZIER(Form1, pPoints, 10, QBCOLOR(4))
END SUB