VB求做一关于多边形的课题

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:59:56
在屏幕上画一个彩色的多边形,由(text框中输入的数字决定具体是几边形),大小自定,要求每隔1秒钟,该六边形逆时针转动45度。

窗体上画一个timer控件和一个按钮,用如下代码:
Dim n As Integer, An As Single

Private Sub Command1_Click()
Dim i As Integer
Timer1.Enabled = True
Cls
n = InputBox("请输入多边形的边数:")
If n < 3 Then
MsgBox "多边形的边数必须大于或等于3!"
Exit Sub
End If
For i = 0 To n - 1
Line (10 * (Cos(i * An / n)), 10 * (Sin(i * An / n)))-(10 * (Cos((i + 1) * An / n)), 10 * (Sin((i + 1) * An / n)))
Next i
End Sub

Private Sub Form_Load()
Me.Height = Me.Height + Me.ScaleWidth - Me.ScaleHeight
Me.ForeColor = vbRed
An = Atn(1) * 8
Me.Scale (-20, 20)-(20, -20)
Timer1.Interval = 1000
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
Static k As Integer
Dim i As Integer, r As Single
Cls
k = k + 1
r = k * Atn(1)
For i = 0 To n - 1
Line (10 * (Cos(i * An / n + r)), 10 * (Sin(i * An / n + r)))-(10 * (Cos((i + 1) * An / n + r)), 10 * (Sin