?? frmmatrix.frm
字號:
VERSION 5.00
Begin VB.Form Form1
Appearance = 0 'Flat
AutoRedraw = -1 'True
BackColor = &H00000000&
BorderStyle = 0 'None
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 0
ClientTop = 0
ClientWidth = 4680
DrawStyle = 5 'Transparent
FillStyle = 0 'Solid
BeginProperty Font
Name = "Times New Roman"
Size = 21.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
FontTransparent = 0 'False
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
Moveable = 0 'False
NegotiateMenus = 0 'False
ScaleHeight = 3195
ScaleWidth = 4680
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
Visible = 0 'False
Begin VB.Timer tmrMain
Enabled = 0 'False
Interval = 100
Left = 2760
Top = 720
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyEscape
dxDirectDraw7.RestoreDisplayMode
dxDirectDraw7.SetCooperativeLevel Form1.hwnd, DDSCL_NORMAL
ShowCursor (1)
End
Case vbKeyP
If tmrMain.Enabled = False Then tmrMain.Enabled = True Else: tmrMain.Enabled = False
End Select
End Sub
Private Sub Form_Load()
SetupProg
Randomize
srfFront.SetFontBackColor vbBlack
srfFront.SetFontTransparency False
With fntCustom
.Name = "Matrix"
.Size = 8
.Bold = False
End With
srfFront.SetFont fntCustom
Dim i As Integer, h As Integer
For i = 0 To 79
intColumn(i).intLength = Int(Rnd * 10) + 30
ReDim intColumn(i).Item(intColumn(i).intLength)
intColumn(i).booActive = False
intColumn(i).intCounter = 0
intColumn(i).booOffScreen = False
intColumn(i).intX = i
intColumn(i).intY = 0
For h = 0 To intColumn(i).intLength
intColumn(i).Item(h).intCharacter = Int(Rnd * 43) + 65
intColumn(i).Item(h).intGreenColour = Int(Rnd * 255)
Next h
Next i
intTotalColumns = 0
booAlternate = True
Form1.tmrMain.Enabled = True
End Sub
Private Sub tmrMain_Timer()
Dim intStartColumn As Integer, x As Integer, y As Integer
If intTotalColumns <= 50 And booAlternate = True Then
Do
intStartColumn = Int(Rnd * 79)
Loop Until intColumn(intStartColumn).booActive = False
intColumn(intStartColumn).booActive = True
srfFront.SetForeColor vbWhite
Call srfFront.DrawText(intStartColumn * 8, 0, Chr(intColumn(intStartColumn).Item(0).intCharacter), False)
intColumn(intStartColumn).intCounter = intColumn(intStartColumn).intCounter + 1
intTotalColumns = intTotalColumns + 1
booAlternate = False
Else: booAlternate = True
End If
For x = 0 To 79
If intColumn(x).booActive = True Then
If intColumn(x).intCounter < intColumn(x).intLength Then
If intColumn(x).booOffScreen = False Then
Call srfFront.SetForeColor(vbWhite)
Call srfFront.DrawText(x * 8, intColumn(x).intCounter * 12, Chr(intColumn(x).Item(intColumn(x).intCounter).intCharacter), False)
DoEvents
Call srfFront.SetForeColor(RGB(0, 0, 0))
Call srfFront.DrawText(x * 8, (intColumn(x).intCounter - 1) * 12, " ", False)
DoEvents
Call srfFront.SetForeColor(RGB(0, intColumn(x).Item(intColumn(x).intCounter - 1).intGreenColour, 0))
Call srfFront.DrawText(x * 8, (intColumn(x).intCounter - 1) * 12, Chr(intColumn(x).Item(intColumn(x).intCounter - 1).intCharacter), False)
intColumn(x).intCounter = intColumn(x).intCounter + 1
End If
If intColumn(x).booOffScreen = True Then
If intTotalColumns > 20 Then
Call srfFront.SetForeColor(vbBlack)
Call srfFront.DrawText(x * 8, intColumn(x).intCounter * 12, Chr(intColumn(x).Item(intColumn(x).intCounter).intCharacter), False)
intColumn(x).intCounter = intColumn(x).intCounter + 1
If intColumn(x).intCounter = intColumn(x).intLength Then
intColumn(x).booActive = False
intColumn(x).booOffScreen = False
intTotalColumns = intTotalColumns - 1
intColumn(x).intCounter = 0
End If
End If
End If
If intColumn(x).intCounter = intColumn(x).intLength Or intColumn(x).intCounter = 41 Then
Call srfFront.SetForeColor(RGB(0, intColumn(x).Item(intColumn(x).intCounter - 1).intGreenColour, 0))
Call srfFront.DrawText(x * 8, (intColumn(x).intCounter - 1) * 12, Chr(intColumn(x).Item(intColumn(x).intCounter - 1).intCharacter), False)
intColumn(x).booOffScreen = True
intColumn(x).intCounter = 0
End If
End If
End If
Next x
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -