vb输入外接圆半径,和中心坐标画出五角星怎么写。

直接在窗体上显示,而且能用滚动条旋转==... 直接在窗体上显示,而且能用滚动条旋转= = 展开
 我来答
信心安J
2013-12-15 · TA获得超过402个赞
知道小有建树答主
回答量:787
采纳率:0%
帮助的人:719万
展开全部
Private Type tPoint
    x As Single
    y As Single
End Type
Private Sub Form_Load()
   HScroll1.Min = 0
   HScroll1.Max = 360
End Sub
Private Sub fun_Paint()
    Const PI As Double = 3.141592653
    Dim intR As Integer
    Dim intO As tPoint
    Dim intK As Integer
    Dim pp(4) As tPoint
    Dim i As Integer
    Me.Cls
    Me.AutoRedraw = True
    intR = Int(Val(Text1.Text))
    intO.x = Int(Val(Text2.Text))
    intO.y = Int(Val(Text3.Text))
    intK = Me.HScroll1.Value
    Me.DrawWidth = 10
    Me.PSet (intO.x, intO.y), vbRed
    For i = 0 To 4
        pp(i).x = intO.x + intR * Sin(((intK + 72 * i) / 360) * (2 * PI))
        pp(i).y = intO.y + intR * Cos(((intK + 72 * i) / 360) * (2 * PI))
        Me.DrawWidth = 6
        Me.PSet (pp(i).x, pp(i).y), vbBlue
    Next i
    Me.DrawWidth = 3
    For i = 0 To 4
        Me.Line (pp(i).x, pp(i).y)-(pp((i + 2) Mod 5).x, pp((i + 2) Mod 5).y), vbBlack
    Next
End Sub

Private Sub Form_Click()
    fun_Paint
End Sub

Private Sub HScroll1_Change()
    fun_Paint
End Sub

Private Sub HScroll1_Scroll()
    fun_Paint
End Sub

涐吢铱舊囿儚
2013-12-15 · TA获得超过488个赞
知道小有建树答主
回答量:512
采纳率:100%
帮助的人:580万
展开全部

楼主看看这个:

' 窗体内画一个水平滚动条 HScroll1 、一个按钮 Command1
Private Const PI As Double = 3.14159265359    '圆周率 π
Private mlR As Long

Private Sub DrawPentacle()
   Dim w As Long, h As Long
   Dim i As Long, a As Double
   Dim v As Long, p As Long
   Dim xa#, xb#, ya#, yb#
   
   v = HScroll1.Value
   w = ScaleWidth / 2
   h = ScaleHeight / 2
   Me.Cls: p = 0
   a = v * PI / 180
   xa = w + mlR * Sin(a)
   ya = h - mlR * Cos(a)
   For i = 1 To 5
      p = (p + 2) Mod 5
      a = ((v + 72 * p) * PI / 180)
      xb = w + mlR * Sin(a)
      yb = h - mlR * Cos(a)
      Line (xa, ya)-(xb, yb), vbRed
      xa = xb: ya = yb
   Next
End Sub

Private Sub Command1_Click()
   Dim v As Long
   v = Val(InputBox("请输入半径(以象素为单位):", "输入", "150"))
   If (v < 1 Or v > 800) Then
      MsgBox "输入不正确。", 32
      Exit Sub
   End If
   mlR = v
   Call DrawPentacle
End Sub

Private Sub Form_Load()
   ScaleMode = 3
   HScroll1.TabStop = False
   HScroll1.Min = 0
   HScroll1.Max = 360
End Sub

Private Sub HScroll1_Change()
   Call DrawPentacle
End Sub

Private Sub HScroll1_Scroll()
   Call DrawPentacle
End Sub
更多追问追答
追问

我的程序是这样的怎么改啊

追答
你新建一个工程,按我的代码、说明做呗。
看你的代码,能画出五角星吗……

你要让别人给你改代码,直接贴代码啊或发工程啊,
你贴图片,别人要把你的代码“敲一遍”,你不认为很劲吗!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式