⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vb.txt

📁 学习VB以来的心得体会
💻 TXT
字号:
图形填充底色出问题:
Private Sub form_Click()
 Static i As Integer
  Dim r As Integer, g As Integer, b As Integer
 Randomize
 r = Int(Rnd * 256)
 g = Int(Rnd * 256)
 b = Int(Rnd * 256)
 Debug.Print r, g, b
 Shape1.FillColor = RGB(0, 255, 0)
 Shape1.BorderColor = RGB(r, g, b)
 i = i + 1
 If i <= 5 Then
   Call shape(i)
 Else
   i = 0
   Call shape(i)
 End If
End Sub

Private Sub Form_Load()
 Dim r As Integer, g As Integer, b As Integer
 Randomize
 r = Int(Rnd * 256)
 g = Int(Rnd * 256)
 b = Int(Rnd * 256)
 Debug.Print r, g, b
 Shape1.FillColor = RGB(255, 0, 0)  '这里要注意建立一个shape  但还是不填色 为什么?
 Shape1.BorderColor = RGB(r, g, b)
 Shape1.shape = 0
End Sub

Private Sub shape(x As Integer)
Shape1.shape = x
End Sub

2.转动的指针
Option Explicit
Private Sub Form_load()
 Line1.BorderColor = RGB(255, 0, 0)
 Line1.BorderWidth = 2
 Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
  Static a As Integer
  Dim x As Single, y As Single
  Const pi = 3.14159265
  a = a Mod 360
  x = 1000 * Sin(a * pi / 180)
  y = (-1) * 1000 * Cos(a * pi / 180)
  Line1.X2 = x + 2160
  Line1.Y2 = y + 1440
  Line1.Refresh
  a = a + 6
End Sub
3.打点 天女散花
Option Explicit
Private Sub Command1_Click()
 Dim i As Integer
 For i = 1 To 30000
   Call draw
 Next i
End Sub

Private Sub Command2_Click()
 End
End Sub

Private Sub draw()
 Dim r As Integer, g As Integer, b As Integer
 Dim x As Single, y As Single
 Dim w As Integer, h As Integer
 Randomize
 r = Int(Rnd * 256)
 g = Int(Rnd * 256)
 b = Int(Rnd * 256)
 w = Picture1.Width
 h = Picture1.Height
 x = Int(Rnd * w)
 y = Int(Rnd * h)
 Picture1.PSet (x, y), RGB(r, g, b)
End Sub
4.成功的收获了一点点东西的正旋函数图象
Option Explicit

Private Sub Command1_Click()
  Dim x As Single, y As Single, a As Integer
  Const pi = 3.14159265
  '画X轴
  Line (450, 1500)-(4000, 1500)
  Line (4000, 1500)-(3800, 1450)  '利用这条线来画箭头
  Line (4000, 1500)-(3800, 1550)   '利用这条线来画箭头
  '画Y轴
  Line (500, 500)-(500, 2500)
  Line (500, 500)-(450, 700)   '利用这条线来画箭头
  Line (500, 500)-(550, 700)    '利用这条线来画箭头
  '画函数曲线
  For a = 0 To 360
  y = (-1) * Sin(a * pi / 180) * 500 + 1500
  x = a * 8 + 500
  PSet (x, y), RGB(255, 0, 0)
  Next a
     CurrentY = 1500   '要注意了:窗体坐标系的原点在左上角
     CurrentX = 500
     PSet (500, 1500), RGB(255, 0, 0)
     Print "0"
 
     CurrentY = 1000
     CurrentX = 500
       PSet (500, 1000), RGB(255, 0, 0)
     Print 1
     
     CurrentY = 1000
     CurrentX = 500
       PSet (500, 2000), RGB(255, 0, 0)
     Print -1
     
     CurrentY = 600
     CurrentX = 500
     Print "y"
   
  
     CurrentY = 1500
     CurrentX = 1220
     PSet (1220, 1500), RGB(255, 0, 0)
     '这里的1220 是根据上面的 Sin(a * pi / 180)=1 计算出a=90,再代入 x = a * 8 + 500算出x=1220
     '这里不能直接通过计算 y = (-1) * Sin(a * pi / 180) * 500 + 1500=1500来算,否则a=180,x=1940
     
     Print "π/2"  '注意了:这里的 X和Y 都受最近距离的pset中的 X和Y 控制,所以要打点则上面的必须正确
     
     CurrentY = 1500
     CurrentX = 1220
     PSet (1940, 1500), RGB(255, 0, 0)
     '这里的1940 是根据上面的 Sin(a * pi / 180)=0计算出a=180,再代入 x = a * 8 + 500算出x=1940
     Print "π"
   
      CurrentY = 1500
     CurrentX = 2660  'Sin(a * pi / 180)=-1则a=270,再代入 x = a * 8 + 500算出x=2660
     Print "3π/2"
     
     PSet (3380, 1500), RGB(0, 0, 255)
      CurrentY = 1500
     CurrentX = 3380  'Sin(a * pi / 180)=0则a=360,再代入 x = a * 8 + 500算出x=3380
     Print "2π"
     
      CurrentY = 1500
     CurrentX = 3750  'Sin(a * pi / 180)=-1则a=270,再代入 x = a * 8 + 500算出x=2660
     Print "x"
End Sub

5.新整了后综合起来的东西,包括圆弧和立体圆饼
Option Explicit
Const pi = 3.14159265
Private Sub Command1_Click()
  Dim x As Single, y As Single, a As Integer  '这里的曲线为什么在第二次运行后就变粗呢???????
  Form1.Cls
  '画X轴
  Line (450, 1500)-(4000, 1500)
  Line (4000, 1500)-(3800, 1450)  '利用这条线来画箭头
  Line (4000, 1500)-(3800, 1550)   '利用这条线来画箭头
  '画Y轴
  Line (500, 500)-(500, 2500)
  Line (500, 500)-(450, 700)   '利用这条线来画箭头
  Line (500, 500)-(550, 700)    '利用这条线来画箭头
  '画函数曲线
  For a = 0 To 360
  y = (-1) * Sin(a * pi / 180) * 500 + 1500
  x = a * 8 + 500
  PSet (x, y), RGB(255, 0, 0)
  Next a
     CurrentY = 1500   '要注意了:窗体坐标系的原点在左上角
     CurrentX = 500
     PSet (500, 1500), RGB(255, 0, 0)  '其实啊 这里有了这句话 就可以不要上面的CurrentY/x = 1500了
     Print "0"
 
     CurrentY = 1000
     CurrentX = 500
       PSet (500, 1000), RGB(255, 0, 0)
     Print 1
     
     CurrentY = 1000
     CurrentX = 500
       PSet (500, 2000), RGB(255, 0, 0)
     Print -1
     
     CurrentY = 600
     CurrentX = 500
     Print "y"
   
  
     CurrentY = 1500
     CurrentX = 1220
     PSet (1220, 1500), RGB(255, 0, 0)
     '这里的1220 是根据上面的 Sin(a * pi / 180)=1 计算出a=90,再代入 x = a * 8 + 500算出x=1220
     '这里不能直接通过计算 y = (-1) * Sin(a * pi / 180) * 500 + 1500=1500来算,否则a=180,x=1940
     
     Print "π/2"  '注意了:这里的 X和Y 都受最近距离的pset中的 X和Y 控制,所以要打点则上面的必须正确
     
 
     PSet (1940, 1500), RGB(255, 0, 0)
     '这里的1940 是根据上面的 Sin(a * pi / 180)=0计算出a=180,再代入 x = a * 8 + 500算出x=1940
     Print "π"
   
      CurrentY = 1500
     CurrentX = 2660  'Sin(a * pi / 180)=-1则a=270,再代入 x = a * 8 + 500算出x=2660
     PSet (2660, 1500), RGB(255, 0, 0)
     Print "3π/2"
     
     PSet (3380, 1500), RGB(0, 0, 255)
      CurrentY = 1500
     CurrentX = 3380  'Sin(a * pi / 180)=0则a=360,再代入 x = a * 8 + 500算出x=3380
     Print "2π"
     
      CurrentY = 1500
     CurrentX = 3750  'Sin(a * pi / 180)=-1则a=270,再代入 x = a * 8 + 500算出x=2660
     Print "x"
     

End Sub

Private Sub Command2_Click() '画圆弧
     Form1.Cls
     DrawWidth = 2
     Circle (2000, 1500), 800, RGB(255, 0, 0), -pi / 2, -pi / 6
     '当 -pi / 2的绝对值大于 -pi / 6的绝对值时,就画圆心角大于180的圆弧
     
      Circle (2050, 1400), 800, RGB(255, 0, 0), -pi / 6, -pi / 2
End Sub

Private Sub Command3_Click()
   Form1.Cls
   Dim i As Integer, n As Single
   Form1.FillStyle = 4 '用斜线填充     '可为什么圆弧也会被填充呢??????
   Circle (2000, 1200), 1500, RGB(12, 10, 25), , , 0.5 '这里的0.5<1,所以长半轴在x方向
   For i = 1 To 100
   n = i * 5
   Circle (2000, 1200 + n), 1500, RGB(30, 30, 25), pi, 2 * pi, 0.5
   Next i
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -