PolylineToの例(VB)

説明:

PolylineToを利用して歯車をピクチャボックスへ描画する。

キーワード:

MoveToEx, PolylineTo

サンプルコード:

'宣言の一部
Declare Function MoveToEx Lib "gdi32" ( _
    ByVal hDC As Long, _
    ByVal X As Long, _
    ByVal Y As Long, _
    ByVal pLastPoint As Long) As Long

'歯車の描画
Private Sub Command1_Click()
    Const PI As Single = 3.14159
    Const ShapeNum As Long = 20
    Const R As Long = 100
    
    Dim I As Long
    Dim J As Long
    Dim Points(3) As POINT
    Dim D As Long
    
    D = R * Sin(PI / ShapeNum)
    
    I = (ShapeNum / 2 - 1)
    J = 3
    MoveToEx _
        Picture1.hDC, _
        D * Cos(2 * PI * (13 / 8 - 2 / ShapeNum)) + R * Cos(2 * PI * (5 / 4 - 2 / ShapeNum)) + R, _
        D * Sin(2 * PI * (13 / 8 - 2 / ShapeNum)) + R * Sin(2 * PI * (5 / 4 - 2 / ShapeNum)) + R, _
        0
    For I = 0 To ShapeNum / 2 - 1
        For J = 0 To 3
            Points(J).X = D * Cos(2 * PI * ((2 * J - 1) / 8 + I * 2 / ShapeNum)) + R * Cos(2 * PI * (I * 2 / ShapeNum + 1 / 4)) + R
            Points(J).Y = D * Sin(2 * PI * ((2 * J - 1) / 8 + I * 2 / ShapeNum)) + R * Sin(2 * PI * (I * 2 / ShapeNum + 1 / 4)) + R
        Next

        PolylineTo Picture1.hDC, Points(0), 4
    Next
End Sub
(original text:1999/02/23 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。