感谢感谢,,先粘贴一下36楼修正过后的代码:(备份一下)

----------------------------------------------------------------
Option Explicit
Private Const W As Integer = 15 '格子宽度,单位:px
Private Const H As Integer = 15 '格子高度,单位:px
Private Type box
Red As Boolean '是否红格
Text As String '点击时文本框要增加的文本
Click As Boolean '是否为按下状态
'其它的可以自己添加
End Type
Private b(54, 21) As box '55*22个格子;b(列,行)
Private Sub Form_Load()
Me.ScaleMode = 3
Me.AutoRedraw = True
Me.Width = 12900
Me.Height = 6600
Text1.Move 0, 350, 400
Dim i As Byte
Dim j As Byte
For i = 0 To 54
For j = 0 To 21
b(i, j).Red = False '设置是否为红格
b(i, j).Text = "我是" & i & "-" & j '设置点击时文本框text1要增加的文本
b(i, j).Click = False '设置是否为点击状态
DrawBox i, j
Next j
Next i
'设置第一列第一行点击时文本框要增加的文本
'设好之好记得要DrawBox重绘格子,如果你觉得每次修改属性都要用DrawBox要重绘格子会麻烦,就写一个sub来处理,或者写成class,在Let里面处理.这里我就不写了.
b(0, 0).Text = "1e2c3350": DrawBox 0, 0
'设置第二列第一行点击时文本框要增加的文本
'其它的如此类推
b(1, 0).Text = "352488ef": DrawBox 1, 0
'设置第3列第3行为红格,至于你说的右边什么死格..我不知道什么意思.你自己写吧
'其它的如此类推
b(2, 2).Red = True: DrawBox 2, 2
End Sub
Private Sub DrawBox(ByVal Col As Byte, ByVal Row As Byte) '画格子:列,行,
Dim Color As Long
If b(Col, Row).Red Then
Color = &HFF& '红格
Else
Color = IIf(b(Col, Row).Click, &HFF0000, &HC0C0C0) '如果是点击状态>蓝色,否则灰色
End If
Form1.FillColor = Color
Form1.Line (Col * W, Row * H)-(Col * W + W, Row * H + H), , B
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X > W * 55 Or Y > H * 22 Then Exit Sub
Dim Col As Byte
Dim Row As Byte
Col = (X - X Mod W) / W
Row = (Y - Y Mod H) / H
If b(Col, Row).Red Then Exit Sub '如果是红否.直接退出过程
b(Col, Row).Click = Not b(Col, Row).Click: DrawBox Col, Row '如果不是点击状击态>设为点击状态,否则设为非点击状态
'接下来你想咋地咋地
'例如 , text1增加相应的字符:
Text1.Text = Text1.Text & b(Col, Row).Text
End Sub
Private Sub Text1_Change()
End Sub
----------------------------------------------------------------