(400分)VB 画圆,矩形,三角形,五角星

来源:百度知道 编辑:UC知道 时间:2024/07/04 23:56:04
http://zhidao.baidu.com/question/57105448.html?quesup1

一定得实现可以拖动鼠标来控制图形的大小!!!!!!

Command可以换成Option控件。
鼠标拖动改变图形大小可参照下面的代码,实现功能就这样:

Option Explicit

Private rx As Long, ry As Long, isDraw As Boolean

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
rx = X
ry = Y
isDraw = True
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static oldx As Long, oldy As Long, oldcolor As Long
oldcolor = Me.ForeColor
If isDraw Then
Me.ForeColor = Me.BackColor
Me.Circle (rx, ry), Sqr((oldx - rx) * (oldx - rx) + (oldy - ry) * (oldy - ry))
Me.ForeColor = oldcolor
Me.Circle (rx, ry), Sqr((X - rx) * (X - rx) + (Y - ry) * (Y - ry))
End If
oldx = X
oldy = Y
End Sub

Private Sub Command1_Click()
Picture1.Circle (50, 50), 50
End Sub

Private Sub Command2_Click()
Picture1.Line (10, 10)-(10, 60)
Picture1.Line (10, 60)-(60, 60)
Picture1.Line (60, 60)-(60, 10)
Picture1.Line (60, 10)-(10, 10)
End Sub

Private Sub Command3_Click()
Picture1.Line (50, 50)-(50 + 10, 50 + 10 * Sqr(3))
Picture1.Line (50 + 10, 50 + 10 * Sqr(3))-(50 - 10, 50 + 10 * Sqr(3))
Picture1.Line (50 - 10, 50 + 10 * Sqr(3))-(50, 50)
End Sub

Private Sub Command4_Click()
Dim l As Long, a As Long, b As Long, du As Double
du = 3.1415926 / 10 '18度
a = 20
b = 20
l = 20
Picture1.Line (a, b)-(a + l * Sin(du), b + l * Cos(du))
Picture1.Line (a + l * Sin(du), b + l * Cos(du))-(a - l / 2, b + l / 2 * Tan(2 * du))
Picture1.Line (a - l / 2, b + l / 2 * Tan(2 * du))-(a + l / 2, b + l / 2 * Tan(2 * du))
Picture1.Line (a + l / 2, b + l / 2 * Tan(