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

📄 form1.frm

📁 visual basic课程设计案例精编
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   BackColor       =   &H80000008&
   BorderStyle     =   0  'None
   Caption         =   "Form1"
   ClientHeight    =   3195
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   213
   ScaleMode       =   3  'Pixel
   ScaleWidth      =   312
   ShowInTaskbar   =   0   'False
   StartUpPosition =   3  'Windows Default
   WindowState     =   2  'Maximized
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit '强制变量声明
'定义常数
Private Theta
Private Const PI As Double = 3.14159265358979
Private Const Inc = PI / 180
'定义显示点,共11×120个
Private ParticleX(0 To 120) As Long
Private ParticleY(0 To 120) As Long
Private Trail1X(0 To 120) As Long
Private Trail1Y(0 To 120) As Long
Private Trail2X(0 To 120) As Long
Private Trail2Y(0 To 120) As Long
Private Trail3X(0 To 120) As Long
Private Trail3Y(0 To 120) As Long
Private Trail4X(0 To 120) As Long
Private Trail4Y(0 To 120) As Long
Private Trail5X(0 To 120) As Long
Private Trail5Y(0 To 120) As Long
Private Trail6X(0 To 120) As Long
Private Trail6Y(0 To 120) As Long
Private Trail7X(0 To 120) As Long
Private Trail7Y(0 To 120) As Long
Private Trail8X(0 To 120) As Long
Private Trail8Y(0 To 120) As Long
Private Trail9X(0 To 120) As Long
Private Trail9Y(0 To 120) As Long
Private Trail10X(0 To 120) As Long
Private Trail10Y(0 To 120) As Long
'定义粒子X、Y向的增量变量
Private Dx(0 To 120) As Long
Private Dy(0 To 120) As Long
'定义循环变量和最大值
Private i As Integer
Private iMax As Integer
'定义淋浴式喷射时的布尔型变量
Private Shower(0 To 120) As Boolean
'定义反弹变量和反弹次数
Private Bounces(0 To 120) As Long
Private BounceNumber As Integer
Public Ro As Integer
Public Vel
Private Mode4 As Integer
'定义鼠标的X、Y坐标
Private MouseX As Long
Private MouseY As Long
Private PointX As Long
Private PointY As Long

Private Sub Form_Load()
    Show
    iMax = 120
    i = 0
    Mode4 = 0
    BounceNumber = 5
    
    If GetSetting("saver", "setup", "Color", "") = "" Then
        Color = 8
    Else
        Color = Val(GetSetting("saver", "setup", "Color", ""))
    End If
    If GetSetting("saver", "setup", "Performance", "") = "" Then
        Performance = 1
    Else
        Performance = Val(GetSetting("saver", "setup", "Performance", ""))
    End If
    If GetSetting("saver", "setup", "Mode", "") = "" Or GetSetting("saver", "setup", "Mode", "") = "-1" Then
        Mode = 0
    Else
        Mode = Val(GetSetting("saver", "setup", "Mode", ""))
    End If

    Do
    DoEvents
    i = i + 1
    If i >= iMax Then
    i = 0
    End If
    
    Dy(i) = Dy(i) + 1
   
    'update trails
    Trail10X(i) = Trail9X(i)
    Trail10Y(i) = Trail9Y(i)
    Trail9X(i) = Trail8X(i)
    Trail9Y(i) = Trail8Y(i)
    Trail8X(i) = Trail7X(i)
    Trail8Y(i) = Trail7Y(i)
    Trail7X(i) = Trail6X(i)
    Trail7Y(i) = Trail6Y(i)
    Trail6X(i) = Trail5X(i)
    Trail6Y(i) = Trail5Y(i)
    Trail5X(i) = Trail4X(i)
    Trail5Y(i) = Trail4Y(i)
    Trail4X(i) = Trail3X(i)
    Trail4Y(i) = Trail3Y(i)
    Trail3X(i) = Trail2X(i)
    Trail3Y(i) = Trail2Y(i)
    Trail2X(i) = Trail1X(i)
    Trail2Y(i) = Trail1Y(i)
    Trail1X(i) = ParticleX(i)
    Trail1Y(i) = ParticleY(i)
    
    Select Case Performance
    Case 1
        Dx(i) = Int(Rnd * 5) - 2.4
    Case 2
        Dx(i) = 1
    Case 3
        Dx(i) = -1
    Case 4
        Dx(i) = Sin(Dy(i)) * 10
    Case 5
        Dx(i) = Sin(Dy(i)) * Dy(i)
    Case 6
        If Shower(i) = False Then
            Dx(i) = (Int(Rnd * 50) - 24) / 2
            Shower(i) = True
        End If
    Case 7
        If Shower(i) = False Then
            Theta = Inc * (360 / iMax) * (iMax - i) + 10
            Dx(i) = Sin(Theta) * 10
            Dy(i) = Cos(Theta) * 50
            Shower(i) = True
        End If
    End Select

    If (ParticleX(i) > ScaleWidth Or ParticleX(i) < 0) Then
        Dx(i) = -Dx(i)
    End If
    ParticleX(i) = ParticleX(i) + Dx(i)
    'move particle down
    ParticleY(i) = ParticleY(i) + Int((Dy(i) + Rnd * 10) / 5)
    
    If ParticleY(i) > ScaleHeight Then
        Bounces(i) = Bounces(i) + 1
        Shower(i) = False
        Dy(i) = -((BounceNumber - Bounces(i)) * (Dy(i) / 5))
        If Bounces(i) >= BounceNumber Then
            Bounces(i) = 0
            Dx(i) = 0
            Select Case Mode
            Case 0
                ParticleX(i) = MouseX
                ParticleY(i) = MouseY
            Case 1
                ParticleX(i) = Rnd * ScaleWidth
                ParticleY(i) = Rnd * ScaleHeight
            Case 2
                ParticleX(i) = Rnd * ScaleWidth
                ParticleY(i) = 0
            Case 3
                Vel = Vel + 0.1
                If Vel > 5 Then
                    Vel = 0
                End If
                If PointX < MouseX Then
                    PointX = PointX + Vel
                ElseIf PointX > MouseX Then
                    PointX = PointX - Vel
                End If
                If PointY < MouseY Then
                    PointY = PointY + Vel
                ElseIf PointY > MouseY Then
                    PointY = PointY - Vel
                End If
                ParticleX(i) = PointX
                ParticleY(i) = PointY
            Case 4
                Ro = Ro + 5
                If Ro > 360 Then
                    Ro = 0
                End If
                Theta = Inc * Ro
                If Mode4 < 100 Then
                    ParticleX(i) = (ScaleWidth / 4) + Cos(Theta) * 100
                    ParticleY(i) = (ScaleHeight / 4) + Sin(Theta) * 100
                ElseIf Mode4 >= 100 And Mode4 < 200 Then
                    ParticleX(i) = (ScaleWidth * 3 / 4) + Cos(Theta) * 100
                    ParticleY(i) = (ScaleHeight / 4) + Sin(Theta) * 100
                ElseIf Mode4 >= 200 And Mode4 < 300 Then
                    ParticleX(i) = (ScaleWidth / 4) + Cos(Theta) * 100
                    ParticleY(i) = (ScaleHeight * 3 / 4) + Sin(Theta) * 100
                ElseIf Mode4 >= 300 And Mode4 < 400 Then
                    ParticleX(i) = (ScaleWidth * 3 / 4) + Cos(Theta) * 100
                    ParticleY(i) = (ScaleHeight * 3 / 4) + Sin(Theta) * 100
                ElseIf Mode4 >= 400 And Mode4 < 500 Then
                    ParticleX(i) = (ScaleWidth / 2) + Cos(Theta) * 100
                    ParticleY(i) = (ScaleHeight / 2) + Sin(Theta) * 100
                End If
                Mode4 = Mode4 + 1
                If Mode4 >= 500 Then
                    Mode4 = 0
                End If
            End Select
        End If
    End If
    
    DoEvents
    Select Case Color
    Case 1
    PSet (ParticleX(i), ParticleY(i)), RGB(255, 255, 255)
    PSet (Trail1X(i), Trail1Y(i)), RGB(200, 200, 200)
    PSet (Trail2X(i), Trail2Y(i)), RGB(190, 190, 190)
    PSet (Trail3X(i), Trail3Y(i)), RGB(180, 180, 180)
    PSet (Trail4X(i), Trail4Y(i)), RGB(170, 170, 170)
    PSet (Trail5X(i), Trail5Y(i)), RGB(160, 160, 160)
    PSet (Trail6X(i), Trail6Y(i)), RGB(150, 150, 150)
    PSet (Trail7X(i), Trail7Y(i)), RGB(140, 140, 140)
    PSet (Trail8X(i), Trail8Y(i)), RGB(100, 100, 100)
    PSet (Trail9X(i), Trail9Y(i)), RGB(80, 80, 80)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 2
    PSet (ParticleX(i), ParticleY(i)), RGB(0, 0, 255)
    PSet (Trail1X(i), Trail1Y(i)), RGB(10, 10, 240)
    PSet (Trail2X(i), Trail2Y(i)), RGB(20, 20, 230)
    PSet (Trail3X(i), Trail3Y(i)), RGB(30, 30, 220)
    PSet (Trail4X(i), Trail4Y(i)), RGB(40, 40, 210)
    PSet (Trail5X(i), Trail5Y(i)), RGB(50, 50, 200)
    PSet (Trail6X(i), Trail6Y(i)), RGB(60, 60, 190)
    PSet (Trail7X(i), Trail7Y(i)), RGB(70, 70, 180)
    PSet (Trail8X(i), Trail8Y(i)), RGB(80, 80, 170)
    PSet (Trail9X(i), Trail9Y(i)), RGB(90, 90, 160)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 3
    PSet (ParticleX(i), ParticleY(i)), RGB(0, 255, 0)
    PSet (Trail1X(i), Trail1Y(i)), RGB(10, 240, 10)
    PSet (Trail2X(i), Trail2Y(i)), RGB(20, 230, 20)
    PSet (Trail3X(i), Trail3Y(i)), RGB(30, 220, 30)
    PSet (Trail4X(i), Trail4Y(i)), RGB(40, 210, 40)
    PSet (Trail5X(i), Trail5Y(i)), RGB(50, 200, 50)
    PSet (Trail6X(i), Trail6Y(i)), RGB(60, 190, 60)
    PSet (Trail7X(i), Trail7Y(i)), RGB(70, 180, 70)
    PSet (Trail8X(i), Trail8Y(i)), RGB(80, 170, 80)
    PSet (Trail9X(i), Trail9Y(i)), RGB(90, 160, 90)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 4
    PSet (ParticleX(i), ParticleY(i)), RGB(0, 255, 255)
    PSet (Trail1X(i), Trail1Y(i)), RGB(10, 240, 240)
    PSet (Trail2X(i), Trail2Y(i)), RGB(20, 230, 230)
    PSet (Trail3X(i), Trail3Y(i)), RGB(30, 220, 220)
    PSet (Trail4X(i), Trail4Y(i)), RGB(40, 210, 210)
    PSet (Trail5X(i), Trail5Y(i)), RGB(50, 200, 200)
    PSet (Trail6X(i), Trail6Y(i)), RGB(60, 190, 190)
    PSet (Trail7X(i), Trail7Y(i)), RGB(70, 180, 180)
    PSet (Trail8X(i), Trail8Y(i)), RGB(80, 170, 170)
    PSet (Trail9X(i), Trail9Y(i)), RGB(90, 160, 160)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 5
    PSet (ParticleX(i), ParticleY(i)), RGB(255, 0, 0)
    PSet (Trail1X(i), Trail1Y(i)), RGB(240, 10, 10)
    PSet (Trail2X(i), Trail2Y(i)), RGB(230, 20, 20)
    PSet (Trail3X(i), Trail3Y(i)), RGB(220, 30, 30)
    PSet (Trail4X(i), Trail4Y(i)), RGB(210, 40, 40)
    PSet (Trail5X(i), Trail5Y(i)), RGB(200, 50, 50)
    PSet (Trail6X(i), Trail6Y(i)), RGB(190, 60, 60)
    PSet (Trail7X(i), Trail7Y(i)), RGB(180, 70, 70)
    PSet (Trail8X(i), Trail8Y(i)), RGB(170, 80, 80)
    PSet (Trail9X(i), Trail9Y(i)), RGB(160, 90, 90)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 6
    PSet (ParticleX(i), ParticleY(i)), RGB(255, 255, 0)
    PSet (Trail1X(i), Trail1Y(i)), RGB(240, 240, 10)
    PSet (Trail2X(i), Trail2Y(i)), RGB(230, 230, 20)
    PSet (Trail3X(i), Trail3Y(i)), RGB(220, 220, 30)
    PSet (Trail4X(i), Trail4Y(i)), RGB(210, 210, 40)
    PSet (Trail5X(i), Trail5Y(i)), RGB(200, 200, 50)
    PSet (Trail6X(i), Trail6Y(i)), RGB(190, 190, 60)
    PSet (Trail7X(i), Trail7Y(i)), RGB(180, 180, 70)
    PSet (Trail8X(i), Trail8Y(i)), RGB(170, 170, 80)
    PSet (Trail9X(i), Trail9Y(i)), RGB(160, 160, 90)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 7
    PSet (ParticleX(i), ParticleY(i)), RGB(255, 0, 255)
    PSet (Trail1X(i), Trail1Y(i)), RGB(240, 10, 240)
    PSet (Trail2X(i), Trail2Y(i)), RGB(230, 20, 230)
    PSet (Trail3X(i), Trail3Y(i)), RGB(220, 30, 220)
    PSet (Trail4X(i), Trail4Y(i)), RGB(210, 40, 210)
    PSet (Trail5X(i), Trail5Y(i)), RGB(200, 50, 200)
    PSet (Trail6X(i), Trail6Y(i)), RGB(190, 60, 190)
    PSet (Trail7X(i), Trail7Y(i)), RGB(180, 70, 180)
    PSet (Trail8X(i), Trail8Y(i)), RGB(170, 80, 170)
    PSet (Trail9X(i), Trail9Y(i)), RGB(160, 90, 160)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    Case 8
    PSet (ParticleX(i), ParticleY(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail1X(i), Trail1Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail2X(i), Trail2Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail3X(i), Trail3Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail4X(i), Trail4Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail5X(i), Trail5Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail6X(i), Trail6Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail7X(i), Trail7Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail8X(i), Trail8Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail9X(i), Trail9Y(i)), RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    PSet (Trail10X(i), Trail10Y(i)), RGB(0, 0, 0)
    End Select
    
    Loop

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'set drawwing coords
    MouseX = X
    MouseY = Y
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    End
End Sub

⌨️ 快捷键说明

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