如何用VB做这个界面请详述要什么控件怎么设置小白一个拜求各位大大
如下代码仅供参考。环境:VB6
'----------------------------------------
'初始值设置
Const SL As Long = 18 '单元格边长
Const DW As Long = 2 '单元格边距
Const W1 As Long = 10 'Picture1横向单元格数
Const H1 As Long = 20 'Picture1纵向单元格数
Const W2 As Long = 4 'Picture2横向单元格数
Const H2 As Long = 4 'Picture2纵向单元格数
Sub MyLine(pic As PictureBox, Index As Long, W As Long, C1 As Long, C2 As Long)
'在对应的PictureBox控件上画单元格
Dim x1 As Long, y1 As Long, x2 As Long, y2 As Long
x1 = DW + (Index Mod W) * (SL + DW)
y1 = DW + (Index W) * (SL + DW)
x2 = x1 + SL
y2 = y1 + SL
pic.Line (x1, y1)-(x2, y2), C1, B '单元格边框及颜色
pic.Line (x1 + 1, y1 + 1)-(x2 - 1, y2 - 1), C2, BF '单元格填充颜色
End Sub
Private Sub Form_Load()
Dim i As Long
Me.ScaleMode = 3
Picture1.ScaleMode = 3
Picture1.AutoRedraw = True
Picture1.AutoSize = True
Picture1.FillStyle = 0
Picture2.ScaleMode = 3
Picture2.AutoRedraw = True
Picture2.AutoSize = True
Picture2.FillStyle = 0
'画Picture1单元格
Picture1.Width = DW + W1 * (SL + DW) + 4 * Picture1.DrawWidth
Picture1.Height = DW + H1 * (SL + DW) + 4 * Picture1.DrawWidth
For i = 0 To W1 * H1 - 1
Call MyLine(Picture1, i, W1, RGB(8, 8, 8), RGB(254, 254, 254))
Next
'画Picture2单元格
Picture2.Width = DW + W2 * (SL + DW) + 4 * Picture2.DrawWidth
Picture2.Height = DW + H2 * (SL + DW) + 4 * Picture2.DrawWidth
For i = 0 To W2 * H2 - 1
Call MyLine(Picture2, i, W2, RGB(8, 8, 8), RGB(254, 254, 254))
Next
End Sub
'----------------------------------------
'事例:单元颜色变换。
Private Sub Command1_Click()
Dim i As Long
For i = 9 To 12
Call MyLine(Picture1, i, W1, RGB(254, 254, 254), RGB(0, 192, 0))
Call MyLine(Picture2, i, W2, RGB(254, 254, 254), RGB(160, 0, 0))
Next
MsgBox "测试改变单元颜色,点击“确定”还原..."
For i = 9 To 12
Call MyLine(Picture1, i, W1, RGB(8, 8, 8), RGB(254, 254, 254))
Call MyLine(Picture2, i, W2, RGB(8, 8, 8), RGB(254, 254, 254))
Next
End Sub
窗体布局截图
运行状态截图
使用测试代码测试截图
下一篇:c语言死循环让CPU使用率变高