
正文
vb.net打砖块游戏,vb打砖块游戏代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net编写的贪吃蛇游戏,带代码的
需用VB实现,代码如下
'定义蛇的运动速度枚举值
Private Enum tpsSpeed
QUICKLY = 0
SLOWLY = 1
End Enum
'定义蛇的运动方向枚举值
Private Enum tpsDirection
D_UP = 38
D_DOWN = 40
D_LEFT = 37
D_RIGHT = 39
End Enum
'定义运动区域4个禁区的枚举值
Private Enum tpsForbiddenZone
FZ_TOP = 30
FZ_BOTTOM = 5330
FZ_LEFT = 30
FZ_RIGHT = 5730
End Enum
'定义蛇头及身体初始化数枚举值
Private Enum tpsSnake
SNAKEONE = 1
SNAKETWO = 2
SNAKETHREE = 3
SNAKEFOUR = 4
End Enum
'定义蛇宽度的常量
Private Const SNAKEWIDTH As Integer = 100
'该过程用于显示游戏信息
Private Sub Form_Load()
Me.Show
Me.lblTitle = "BS贪食蛇 — (版本 " App.Major "." App.Minor "." App.Revision ")"
Me.Caption = Me.lblTitle.Caption
frmSplash.Show 1
End Sub
'该过程用于使窗体恢复原始大小
Private Sub Form_Resize()
If Me.WindowState 1 Then
Me.Caption = ""
Me.Height = 6405 '窗体高度为 6405 缇
Me.Width = 8535 '窗体宽度为 8535 缇
Me.Left = (Screen.Width - Width) \ 2
Me.Top = (Screen.Height - Height) \ 2
End If
End Sub
'该过程用于重新开始开始游戏
Private Sub cmdGameStart_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Beep
msg = MsgBox("您确认要重新开始游戏吗?", 4 + 32, "BS贪食蛇")
If msg = 6 Then Call m_subGameInitialize
End Sub
'该过程用于暂停/运行游戏
Private Sub chkPause_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Me.chkPause.Caption = "暂停游戏(P)" Then
Me.tmrSnakeMove.Enabled = False
Me.tmrGameTime.Enabled = False
Me.picMoveArea.Enabled = False
Me.lblPauseLab.Visible = True
Me.chkPause.Caption = "继续游戏(R)"
Else
Me.tmrSnakeMove.Enabled = True
Me.tmrGameTime.Enabled = True
Me.picMoveArea.Enabled = True
Me.lblPauseLab.Visible = False
Me.chkPause.Caption = "暂停游戏(P)"
End If
End Sub
'该过程用于显示游戏规则
Private Sub cmdGameRules_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Beep
MsgBox " BS贪食蛇:一个规则最简单的趣味游戏,您将用键盘" Chr(13) _
"上的4个方向键来控制蛇的运动方向。在运动过程中蛇" Chr(13) _
"不能后退,蛇的头部也不能接触到运动区域的边线以外" Chr(13) _
"和蛇自己的身体,否则就游戏失败。在吃掉随机出现的" Chr(13) _
"果子后,蛇的身体会变长,越长难度越大。祝您好运!!", 0 + 64, "游戏规则"
End Sub
'该过程用于显示游戏开发信息
Private Sub cmdAbout_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Beep
MsgBox "BS贪食蛇" "(V-" App.Major "." App.Minor "版本)" Chr(13) Chr(13) _
"" Chr(13) Chr(13) _
"由PigheadPrince设计制作" Chr(13) _
"CopyRight(C)2002,BestSoft.TCG", 0, "关于本游戏"
End Sub
'该过程用于退出游戏
Private Sub cmdExit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Beep
msg = MsgBox("您要退出本游戏吗?", 4 + 32, "BS贪食蛇")
Select Case msg
Case 6
End
Case 7
Me.chkWindowButton(2).Value = 0
Exit Sub
End Select
End Sub
'该过程用于拖动窗体_(点击图标)
Private Sub imgWindowTop_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
End Sub
'该共用过程用于处理窗体控制按钮组的相关操作_(锁定、最小化、退出)
Private Sub chkWindowButton_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button 1 Then Exit Sub
Select Case Index
Case 0 '锁定窗体
If Me.chkWindowButton(0).Value = 1 Then
Me.imgWindowTop.BorderStyle = 0
Me.imgWindowTop.Enabled = False
Else
Me.imgWindowTop.BorderStyle = 1
Me.imgWindowTop.Enabled = True
End If
Case 1 '最小化
Me.WindowState = 1
Me.chkWindowButton(1).Value = 0
Me.Caption = "BS贪食蛇 — (V-" App.Major "." App.Minor "版本)"
Case 2 '退出
Beep
msg = MsgBox("您要退出本游戏吗?", 4 + 32, "BS贪食蛇")
Select Case msg
Case 6
End
Case 7
Me.chkWindowButton(2).Value = 0
Exit Sub
End Select
End Select
End Sub
'该过程用于设置蛇运动速度的快慢
Private Sub hsbGameSpeed_Change()
Me.tmrSnakeMove.Interval = Me.hsbGameSpeed.Value
End Sub
'该过程用于通过键盘的方向键改变蛇的运动方向
Private Sub picMoveArea_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case g_intDirection
Case D_UP
If KeyCode = D_DOWN Then Exit Sub
Case D_DOWN
If KeyCode = D_UP Then Exit Sub
Case D_LEFT
If KeyCode = D_RIGHT Then Exit Sub
Case D_RIGHT
If KeyCode = D_LEFT Then Exit Sub
End Select
g_intDirection = KeyCode
End Sub
'该计时循环过程用于计算游戏耗费的秒数并显示
Private Sub tmrGameTime_Timer()
g_lngGameTime = g_lngGameTime + 1
Me.lblGameTime.Caption = g_lngGameTime "秒"
End Sub
'该计时循环过程用于控制蛇的行动轨迹
Private Sub tmrSnakeMove_Timer()
Dim lngSnakeX As Long, lngSnakeY As Long, lngSnakeColor As Long
Dim lngPointX As Long, lngPointY As Long, lngPointColor As Long
Randomize
Me.picMoveArea.SetFocus
Me.picMoveArea.Cls
'确认蛇头的运动方向并获取新的位置
Select Case g_intDirection
Case D_UP '向上运动
g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX
g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY
g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_CurY - SNAKEWIDTH
Case D_DOWN '向下运动
g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX
g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY
g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_CurY + SNAKEWIDTH
Case D_LEFT '向左运动
g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX
g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_CurX - SNAKEWIDTH
g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY
Case D_RIGHT '向右运动
g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_OldX
g_udtSnake(SNAKEONE).Snake_CurX = g_udtSnake(SNAKEONE).Snake_CurX + SNAKEWIDTH
g_udtSnake(SNAKEONE).Snake_CurY = g_udtSnake(SNAKEONE).Snake_OldY
End Select
'根据新的位置绘制蛇头
lngSnakeX = g_udtSnake(SNAKEONE).Snake_CurX
lngSnakeY = g_udtSnake(SNAKEONE).Snake_CurY
lngSnakeColor = g_udtSnake(SNAKEONE).Snake_Color
Me.picMoveArea.PSet (lngSnakeX, lngSnakeY), lngSnakeColor
'移动蛇身体其他部分的位置
For i = 2 To g_intSnakeLength
g_udtSnake(i).Snake_CurX = g_udtSnake(i - 1).Snake_OldX
g_udtSnake(i).Snake_CurY = g_udtSnake(i - 1).Snake_OldY
lngSnakeX = g_udtSnake(i).Snake_CurX
lngSnakeY = g_udtSnake(i).Snake_CurY
lngSnakeColor = g_udtSnake(i).Snake_Color
Me.picMoveArea.PSet (lngSnakeX, lngSnakeY), lngSnakeColor
Next i
'更新蛇旧的坐标位置
For j = 1 To g_intSnakeLength
g_udtSnake(j).Snake_OldX = g_udtSnake(j).Snake_CurX
g_udtSnake(j).Snake_OldY = g_udtSnake(j).Snake_CurY
Next j
'判断蛇在移动中是否到了禁区而导致游戏失败
If m_funMoveForbiddenZone(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then
Beep
MsgBox "您的蛇移动到了禁区,游戏失败!", 0 + 16, "BS贪食蛇"
Me.tmrSnakeMove.Enabled = False
Me.tmrGameTime.Enabled = False
Me.picMoveArea.Visible = False
Exit Sub
End If
'判断蛇在移动中是否碰到了自己的身体而导致游戏失败
If m_funTouchSnakeBody(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then
Beep
MsgBox "您的蛇在移动中碰到了自己的身体,游戏失败!", 0 + 16, "BS贪食蛇"
Me.tmrSnakeMove.Enabled = False
Me.tmrGameTime.Enabled = False
Me.picMoveArea.Visible = False
Exit Sub
End If
'判断蛇是否吃到了果子
If m_funEatPoint(g_udtSnake(SNAKEONE).Snake_CurX, g_udtSnake(SNAKEONE).Snake_CurY) Then
'累加玩家的得分并刷新得分显示
g_intPlayerScore = g_intPlayerScore + 1
Me.lblYourScore.Caption = g_intPlayerScore "分"
Call m_subAddSnake '加长蛇的身体
Call m_subGetPoint '获取下一个果子的位置和颜色
Else
'绘制果子
lngPointX = g_udtPoint.Point_X
lngPointY = g_udtPoint.Point_Y
lngPointColor = g_udtPoint.Point_Color
Me.picMoveArea.PSet (lngPointX, lngPointY), lngPointColor
End If
End Sub
'该私有子过程用于初始化游戏
Private Sub m_subGameInitialize()
Erase g_udtSnake '清空蛇的结构数组
g_intPlayerScore = 0 '清空玩家的得分
g_lngGameTime = 0 '清空游戏耗费的秒数
g_intDirection = D_DOWN '设定蛇的初始运动方向为下
g_intSnakeLength = 4 '设定蛇的初始长度
ReDim g_udtSnake(1 To g_intSnakeLength) '重新定义蛇的长度
'定义蛇头部的数据
With g_udtSnake(SNAKEONE)
.Snake_OldX = 530
.Snake_OldY = 530
.Snake_Color = vbBlack
End With
'定义蛇身第2节的数据
With g_udtSnake(SNAKETWO)
.Snake_OldX = 530
.Snake_OldY = 430
.Snake_Color = vbGreen
End With
'定义蛇身第3节的数据
With g_udtSnake(SNAKETHREE)
.Snake_OldX = 530
.Snake_OldY = 330
.Snake_Color = vbYellow
End With
'定义蛇身第4节的数据
With g_udtSnake(SNAKEFOUR)
.Snake_OldX = 530
.Snake_OldY = 230
.Snake_Color = vbRed
End With
Me.picMoveArea.Visible = True
Me.lblYourScore.Caption = g_intPlayerScore "分"
Me.lblGameTime.Caption = g_lngGameTime "秒"
Me.tmrSnakeMove.Interval = Me.hsbGameSpeed.Value
Me.tmrSnakeMove.Enabled = True
Me.tmrGameTime.Enabled = True
Call m_subGetPoint '获取第一个果子的位置和颜色
End Sub
相关问答
Q1: 怎样用vb编写小游戏
我2年前写的,有点幼稚。别见笑
VERSION
5.00
Begin
VB.Form
Form1
AutoRedraw
=
-1
'True
Caption
=
"打字游戏
小游戏而已"
ClientHeight
=
4800
ClientLeft
=
60
ClientTop
=
750
ClientWidth
=
5610
LinkTopic
=
"Form1"
ScaleHeight
=
4800
ScaleWidth
=
5610
StartUpPosition
=
1
'所有者中心
Begin
VB.Timer
Timer1
Left
=
Top
=
3600
End
Begin
VB.Label
Label1
Caption
=
"Label1"
Height
=
735
Index
=
Left
=
1320
TabIndex
=
Top
=
600
Width
=
855
End
Begin
VB.Menu
MenuGame
Caption
=
"数量
(N)"
Index
=
End
Begin
VB.Menu
MenuGame
Caption
=
"速度
(P)"
Index
=
1
End
Begin
VB.Menu
MenuGame
Caption
=
"重置
(R)"
Index
=
2
End
Begin
VB.Menu
MenuGame
Caption
=
"开始
(S)"
Index
=
3
End
Begin
VB.Menu
MenuGame
Caption
=
"输赢
(W)"
Index
=
4
End
Begin
VB.Menu
MenuGame
Caption
=
"帮助
(H)"
Index
=
5
End
End
Attribute
VB_Name
=
"Form1"
Attribute
VB_GlobalNameSpace
=
False
Attribute
VB_Creatable
=
False
Attribute
VB_PredeclaredId
=
True
Attribute
VB_Exposed
=
False
Dim
StartPause
As
Boolean
Dim
n
As
Integer
Dim
Speed
As
Integer
Dim
Down
As
Integer,
Hit
As
Integer
Dim
DownLost
As
Integer,
HitWin
As
Integer
Rem
自定义函数效率不高啊。。。
Private
Sub
Form_Initialize()
Speed
=
10
DownLost
=
100
HitWin
=
100
End
Sub
Private
Sub
Form_KeyDown(KeyCode
As
Integer,
Shift
As
Integer)
Randomize
For
Index
=
To
n
If
Chr(KeyCode)
=
Label1(Index).Caption
Then
With
Label1(Index)
.Top
=
Me.ScaleTop
.Caption
=
Chr(Int(Rnd
*
26)
+
65)
.Left
=
Rnd
*
(Me.ScaleWidth
-
Label1(Index).Width)
.ForeColor
=
RGB(Rnd
*
255,
Rnd
*
255,
Rnd
*
255)
End
With
Hit
=
Hit
+
1
Me.Caption
=
"打字游戏
"
"掉落:
"
Down
"
命中:
"
Hit
End
If
Next
Index
End
Sub
Private
Sub
Form_Load()
On
Error
Resume
Next
Timer1.Interval
=
10
Timer1.Enabled
=
False
Randomize
With
Label1(0)
.Top
=
Me.ScaleTop
.Caption
=
Chr(Int(Rnd
*
26)
+
65)
.ForeColor
=
RGB(Rnd
*
255,
Rnd
*
255,
Rnd
*
255)
.Left
=
Rnd
*
(Me.ScaleWidth
-
Label1(0).Width)
.FontSize
=
30
.BackStyle
=
End
With
For
Index
=
1
To
n
Load
Label1(Index)
With
Label1(Index)
.Visible
=
True
.FontSize
=
30
.BackStyle
=
.Top
=
Me.ScaleTop
.Caption
=
Chr(Int(Rnd
*
26)
+
65)
.Left
=
Rnd
*
(Me.ScaleWidth
-
Label1(Index).Width)
.ForeColor
=
RGB(Rnd
*
255,
Rnd
*
255,
Rnd
*
255)
End
With
Next
Index
End
Sub
Private
Sub
MenuGame_Click(Index
As
Integer)
On
Error
Resume
Next
Select
Case
Index
Case
n
=
Int(InputBox("输入数量,建议输入1至5,如果输入0或者按取消,将会去缺省值1",
"输入数量")
-
1)
Form_Load
StartPause
=
False:
MenuGame(3).Caption
=
"开始
(S)"
Case
1
Speed
=
Int(Val(InputBox("输入速度参数,建议5-20,如果输入0或按取消,将会取缺省值0,就是不会移动",
"输入速度参数")))
Timer1.Enabled
=
False
StartPause
=
False:
MenuGame(3).Caption
=
"开始
(S)"
Case
2
Hit
=
Down
=
Form_Load
StartPause
=
False:
MenuGame(3).Caption
=
"开始
(S)"
Case
3
StartPause
=
Not
StartPause
If
StartPause
=
True
Then
MenuGame(3).Caption
=
"暂停
(P)"
Timer1.Enabled
=
True
ElseIf
StartPause
=
False
Then
MenuGame(3).Caption
=
"开始
(S)"
Timer1.Enabled
=
False
End
If
Case
4
HitWin
=
Int(InputBox("输入数字,当命中数等于该数时即为胜利。",
"输入数字"))
DownLost
=
Int(InputBox("输入数字,当掉落数等于该数时即为胜利。",
"输入数字"))
Case
5
MsgBox
"目前没有编辑帮助"
End
Select
End
Sub
Private
Sub
Timer1_Timer()
Randomize
For
Index
=
To
n
Label1(Index).Top
=
Label1(Index).Top
+
Speed
If
Label1(Index).Top
=
Me.ScaleHeight
Then
With
Label1(Index)
.Top
=
Me.ScaleTop
.Caption
=
Chr(Int(Rnd
*
26)
+
65)
.Left
=
Rnd
*
(Me.ScaleWidth
-
Label1(Index).Width)
.ForeColor
=
RGB(Rnd
*
255,
Rnd
*
255,
Rnd
*
255)
End
With
Down
=
Down
+
1
Me.Caption
=
"打字游戏
"
"掉落
"
Down
"
命中
"
Hit
End
If
Next
Index
If
Down
=
DownLost
Then
MsgBox
"你输啦!",
vbOKOnly,
"You
lost":
End
If
Hit
=
HitWin
Then
MsgBox
"你赢啦!",
vbOKOnly,
"You
Win":
End
End
Sub
Q2: 打砖块VB代码
MSHFlexGrid 控件常数
这一节包含关于 MSHFlexGrid 的控件常数的信息。注意这些常数也应用到 MSFlexGrid,除非有不同地注解。
AddModeSettings 属性 (MSHFlexGrid)
常数 值 描述
flexNoAddNew 0 当前单元不在最后行中,并且没有 AddNew 操作处于待决。
flexAddNewCurrent 1 当前单元在最后一行,但没有 AddNew 操作处于待决。
flexAddNewPending 2 当前单元在倒数第二行。这是是通过 MSHFlexGrid 用户接口由用户初始化一个待决的 AddNew 操作的结果,或者是编程地设置一个列的 Value 或 Text 属性的结果。
AllowUserResizing 属性
常数 值 描述
flexResizeNone 0 用户不能使用鼠标调整大小。这是缺省设置值。
flexResizeColumns 1 用户可以使用鼠标调整列的大小。
flexResizeRows 2 用户可以使用鼠标调整行的大小。
flexResizeBoth 3 用户可以使用鼠标调整列和行的大小。
Appearance 属性
常数 值 描述
flexFlat 0 MSHFlexGrid 的全部外观是平面的或正常的。
flex3D 1 MSHFlexGrid 的全部外观是三维的。
BorderStyle 属性
常数 值 描述
flexBorderNone 0 没有边框。
flexBorderSingle 1 有一个单边框。
CellAlignment 属性
常数 值 描述
flexAlignLeftTop 0 单元内容顶部左对齐。
flexAlignLeftCenter 1 单元内容中间左对齐。对字符串的缺省设置值。
flexAlignLeftBottom 2 单元内容底部左对齐。
flexAlignCenterTop 3 单元内容顶部居中。
flexAlignCenterCenter 4 单元内容中间居中。
flexAlignCenterBottom 5 单元内容底部居中。
flexAlignRightTop 6 单元内容顶部右对齐。
flexAlignRightCenter 7 单元内容中间右对齐。对数字的缺省设置值。
flexAlignRightBottom 8 单元内容底部右对齐。
flexAlignGeneral 9 单元内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。
CellPictureAlignment 属性
常数 值 描述
flexAlignLeftTop 0 图片顶部左对齐。
flexAlignLeftCenter 1 图片中间左对齐。
flexAlignLeftBottom 2 图片底部左对齐。
flexAlignCenterTop 3 图片顶部居中。
flexAlignCenterCenter 4 图片中间居中。
flexAlignCenterBottom 5 图片底部居中。
flexAlignRightTop 6 图片顶部右对齐。
flexAlignRightCenter 7 图片中间右对齐。
flexAlignRightBottom 8 图片底部右对齐。
CellTextStyle、TextStyle、TextStyleFixed 属性
常数 值 描述
flexTextFlat 0 文本为正常的、平面的文本。
flexTextRaised 1 文本看起来凸起。
flexTextInset 2 文本看起来凹入。
flexTextRaisedLight 3 文本看起来轻微凸起。
flexTextInsetLight 4 文本看起来轻微凹入。
CellType 属性 (MSHFlexGrid)
常数 值 描述
flexCellTypeStandard 0 单元为标准单元
flexCellTypeFixed 1 单元包含在一个固定行或列中。
flexCellTypeHeader 2 单元是一个数据带区的标头单元。
flexCellTypeIndent 3 单元用在缩进一个数据带区的一列中。
flexCellTypeUnpopulated 4 单元是一个未充填的单元。
ColAlignment 属性
常数 值 描述
flexAlignLeftTop 0 列内容顶部左对齐。
flexAlignLeftCenter 1 列内容中间左对齐。对字符串的缺省设置值。
flexAlignLeftBottom 2 列内容底部左对齐。
flexAlignCenterTop 3 列内容顶部居中。
flexAlignCenterCenter 4 列内容中间居中。
flexAlignCenterBottom 5 列内容底部居中
flexAlignRightTop 6 列内容顶部右对齐。
flexAlignRightCenter 7 列内容中间右对齐。对数值的缺省设置值。
flexAlignRightBottom 8 列内容底部右对齐。
flexAlignGeneral 9 列内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。
ColHeader 属性 (MSHFlexGrid)
常数 值 描述
flexColHeaderOn 0 为每一个带区显示标头。
flexColHeaderOff 1 没有为带区显示标头。
flexColHeaderOnce 2 为带区显示标头。如果带区被折叠,只显示一个标头。重复的标头不显示。
DisplayBandSettings 属性 (MSHFlexGrid)
常数 值 描述
flexBandDisplayHorizontal 0 MSHFlexGrid 中的带区水平显示(横向)。缺省设置值。
flexBandDisplayVertical 1 MSHFlexGrid 中的带区竖直显示(上下方向)。
DisplayCellSettings 属性 (MSHFlexGrid)
常数 值 描述
FlexCellDisplayHorizontal 0 MSHFlexGrid 中的带区水平显示(横向)。
flexCellDisplayVertical 1 MSHFlexGrid 中的带区竖直显示(上下方向)。
FillStyle 属性
常数 值 描述
flexFillSingle 0 单个。更改 Text 或任何单元属性只影响活动单元。缺省设置值。
flexFillRepeat 1 重复。更改 Text 或任何单元属性影响所有选定单元。
FocusRect 属性
常数 值 描述
flexFocusNone 0 围绕当前单元没有焦点矩形。
flexFocusLight 1 围绕当前单元有一个浅色的焦点矩形。缺省设置值。
flexFocusHeavy 2 围绕当前单元有一个深色的焦点矩形。
GridLines、GridLinesFixed 属性
常数 值 描述
flexGridNone 0 没有线。单元格之间没有线。在 MSFlexGrid 中,对 GridLines 这是缺省的设置值。
flexGridFlat 1 有线。单元格之间线风格被设置为正常的、平面的线。在 MSHFlexGrid 中,对 GridLines 这是缺省的设置。
flexGridInset 2 凹入线。单元格之间线的风格被设置为凹入线。在 MSFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。
flexGridRaised 3 凸起线。单元格之间的线风格被设置为凸起线。在 MSHFlexGrid 中,对 GridLinesFixed 这是缺省的设置值。
HighLight 属性
常数 值 描述
flexHighlightNever 0 选定单元无突出显示。
flexHighlightAlways 1 选定单元总是突出显示。这是缺省设置值。
flexHighlightWithFocus 2 突出显示只在控件有焦点时才显现。
MergeCells 属性
常数 值 描述
flexMergeNever 0 不显示。包含相同内容的单元不分组。这是缺省设置值。
flexMergeFree 1 自由。包含相同内容的单元总是合并。
flexMergeRestrictRows 2 限制行。只有行中包含相同内容的相邻单元(向左)合并。
flexMergeRestrict-Columns 3 限制列。只有列中包含相同内容的相邻单元(向上)合并。
flexMergeRestrictBoth 4 限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的相邻的单元合并。
MousePointer 属性
常数 值 描述
flexDefault 0 MSHFlexGrid 的轮廓。
flexArrow 1 一个箭头指针。
flexCross 2 一组十字型指针。
flexIBeam 3 一个 "I" 型标指针,来允许文本输入。
flexIcon 4 一个正方形中的方块。
flexSize 5 一个用箭头指向上方、下方、左方或右方调整大小指针。
flexSizeNESW 6 一个用箭头指向右上方和左下方调整大小指针。
flexSizeNS 7 一个用箭头指向上方和下方调整大小指针。
flexSizeNWSE 8 一个用箭头指向左上方和右下方调整大小指针。
flexSizeEW 9 一个用箭头指向左方和右方调整大小指针。
flexUpArrow 10 一个指向上方的箭头。
flexHourGlass 11 一个沙漏符号。
flexNoDrop 12 一个“不允许放下”指针。
flexCustom 13 一个自定义风格指针。
PictureType 属性
常数 值 描述
flexPictureColor 0 产生一个高品质的全色图象。
flexPictureMonochrome 1 产生一个较低品质、单色,占用较少内存的图象。
RowSizingSettings 属性 (MSHFlexGrid)
常数 值 描述
flexRowSizeIndividual 0 调整一个行的大小只更改调整的行的高度。这是缺省设置值。
flexRowSizeAll 1 调整一个行的大小更改 MSHFlexGrid 中的所有行的高度。
SelectionMode 属性
常数 值 描述
flexSelectionFree 0 自由。允许选定 MSHFlexGrid 中的个别单元,电子数据表风格。(缺省设置值)
flexSelectionByRow 1 按行。强制跨越整个行选择,如在一个多列列表框或基于记录的显示。
flexSelectionByColumn 2 按列。强制跨越整个列选择,如同为一个图表选择范围或为排序选择字段。
ScrollBars 属性
常数 值 描述
flexScrollNone 0 MSHFlexGrid 没有滚动条。
flexScrollHorizontal 1 MSHFlexGrid 有一个水平的滚动条。
flexScrollVertical 2 MSHFlexGrid 有一个竖直的滚动条。
flexScrollBoth 3 MSHFlexGrid 有水平和竖直的滚动条。这是缺省设置值。
Sort 属性
常数 值 描述
flexSortNone 0 无。不执行排序。
flexSortGenericAscending 1 一般升序。执行估计文本不管是字符串或者是数值的升序排序。
flexSortGenericDescending 2 一般降序。执行估计文本不管是字符串或者是数值的降序排序。
flexSortNumericAscending 3 数值升序。执行把字符串变换为数值的升序排序。
flexSortNumericDescending 4 数值降序。执行把字符串变换为数值的降序排序。
flexSortStringNoCaseAsending 5 字符串升序。执行不区分大小写字符串比较的升序排序。
flexSortNoCaseDescending 6 字符串降序。执行不区分大小写字符串比较的降序排序。
flexSortStringAscending 7 字符串升序。执行区分大小写字符串比较的升序排序。
flexSortStringDescending 8 字符串降序。执行区分大小写字符串比较的降序排序。
flexSortCustom 9 自定义,使用 Compare 事件比较行。
Q3: vb 6.0 小球打砖块
你可以加个timer
循环判断每一个command
具体判断为:
判断小球控件的top是否等于 command的top + command的高
同时小球的left 是否 = command 的 left
同时 小球的left 是否=command 的 left + command 的 宽
这样就可判断是否达到某一个






