2024年5月31日发(作者:)

Visual Basic 上机操作

一、运用Pset方法绘制Sin(x)曲线

Private Sub Form_Paint()

p = 3.1415926 * 4

r = ScaleWidth / p

For j = 1 To 3

For t = 1 To p Step 0.00001

x = t * r

y = j * 1000 + scaleheigh / 2 + 700 * Cos(2 * t)

PSet (x, y), RGB(255, j * 80, 0)

Next t

Next j

End Sub

二、用PSET 语句绘出调色板

Private Sub Form_Paint()

For X = 2000 To 7000

For Y = 1000 To 6000

R = (X - 2000) / 20

G = (Y - 1000) / 20

B = 255 - (R + G) / 2

PSet (X, Y), RGB(R, G, B)

Next Y

Next X

End Sub

三、画宽为5像素的红色水平线。

Private Sub Form_Paint()

DrawWidth = 5

For x = 100 To 7000

PSet (x, 1000), RGB(255, 0, 0)

Next x

End Sub

四、画7条依次变宽的红色水平线。

Private Sub Form_Paint()

For i = 1 To 7

DrawWidth = I

‘改变线宽

For x = 100 To 8000

PSet (x, i * 800), RGB(255, 0, 0)

Next x

Next i

End Sub

五、绘出6条不同样式的直线

Private Sub Form_Paint()

For i = 1 To 6

DrawStyle = I

‘改变线型

a = " 线型" & i & ":"

Y = (300 * I ) + 330

X = 300

PSet (100, Y ), QBColor(8 )

Print a;

Line (400 + TextWidth(a ) + 50, Y)-(6000, Y ),

RGB(255, G, 0 )

Next i

End Sub

1

六、绘出不同填充样式的距形

P139--(7-4).

Private Sub Form_Paint ( )

BackColor = vbWhite

For I = 1 To 7

FillStyle = I

X = (1000 * I) + 330

Line (X, 150)-(X + 700, 850), , B

A = "填充式样" & I

CurrentY = 1000

CurrentX = X - TextWidth(A) / 2 + 400

Print A

Next I

End Sub

七、正弦曲线、余弦曲线

Private Sub Form_Paint( )

ScaleMode = 6

‘以毫米为单位

Dim mpmm As Single

Const p = 3.1415926

mpmm = 30 / p * 4

DrawWidth = 3

‘线宽3个像素

Line (0, 100)-(400, 100), RGB(255, 0, 0)

Line (40, 0)-(40, 300), RGB(255, 0, 0)

DrawWidth = 1

For x = 0 To 400 Step 10 ‘

绘竖直网格线

Line (x, 0)-(x, 300)

Next x

For x = 20 To 400 Step 20

‘标记刻度

CurrentX = x – 1

CurrentY = 102

Print x - 40

Next x

For y = 0 To 300 Step 10

‘绘水平网格线

Line (0, y)-(400, y)

Next y

For y = 10 To 200 Step 10

‘标记刻度

CurrentX = 5

CurrentY = y

Print 100 - y

Next y

For t = 1 To 4 * p Step 0.0001

Y1 = 20 * Cos(2 * t) + 100

x = t * mpmm

PSet (x, Y1), RGB(255, 0, 0)

Y2 = 30 * Sin(2 * t) + 100

PSet (x, Y2), RGB(0, 0, 250)

y3 = 120 * Sin(2 * t) * Cos (2 * t ) + 100

If y3 > 100 Then

y3 = 200 - y3

End If

PSet (x, y3), RGB(0, 0, 0)

Next t

End Sub

八、运用Line方法绘制的彩盘

Private Sub Form_Paint()

X1 = 4000

‘确定圆心

Y1 = 4000

P = 3.1415926535 * 2

R = 1500

‘确定半径

For B = 0 To P Step 0.00001

X2 = R * Sin(B) + X1

‘圆周的一点的坐标

Y2 = R * Cos(B) + Y1

R1 = (X2 / (X1 + R)) * 255

‘配色

G1 = (Y2 / (Y1 + R)) * 255

B1 = 255 - (R1 + G1) / 2

Line (X1, Y1)-(X2, Y2), RGB(R1, G1, B1)

‘画线

Next B

End Sub

2

九、可改变大小的平行四边形

Private Sub Form_Paint()

xz = ScaleWidth / 2

‘左边界中点

yz = ScaleHeight / 2

‘右边界中点

Line (0, yz)-(xz, 0)

Line -(ScaleWidth, yz)

Line -(xz, ScaleHeight)

Line -(0, yz)

CurrentX = xz - xz / 4

‘定当前位置

CurrentY = yz

Print "可改变大小的平行四边形"

End Sub

Private Sub Form_Resize()

Refresh

‘改变窗体大小时,对所有对象通过print事件重画

End Sub

十、正弦曲线(P44)

Private Sub Form_Paint()

ScaleWidth = 20

‘X轴20等分

ScaleHeight = 12 ‘

Y轴12等分

ScaleTop = -ScaleHeight / 2 ‘

定原点

ScaleLeft = -ScaleWidth / 2

Line (-10, 0)-(10, 0), vbBlue

‘画Y轴

Line (0, 6)-(0, -6), vbBlue ‘

画X轴

For yt = -6 To 6

‘以下为Y轴刻度单位

CurrentX = 0.2

CurrentY = yt

If yt <> 0 Then

Print -yt

End If

Next yt

For xt = -8 To 8

‘以下为X轴刻度单位

CurrentX = xt - 0.3: CurrentY = 0.1

Print xt

Line (xt, 0)-(xt, 0.1), vbBlue

Next xt

P= 3.1415926535

For xt = -10 To 10 Step 0.00005

PSet (xt, -2 * Sin(xt * P)), vbRed

Next xt

CurrentX = -8

CurrentY = -4

Print "正弦曲线"

End Sub

3