Option ExplicitDim lngOldRow As LongPrivate Sub Form_Load() Dim i As Long
MSFlexGrid1.Rows = 10: MSFlexGrid1.Cols = 5
For i = 1 To MSFlexGrid1.Rows - 1 MSFlexGrid1.TextMatrix(i, 1) = "aaaa" & i Next MSFlexGrid1.SelectionMode = flexSelectionByRow End SubPrivate Sub MSFlexGrid1_SelChange() MSFlexGrid1.Redraw = False Dim i As Long, lngNewRow As Long
lngNewRow = MSFlexGrid1.Row MSFlexGrid1.Row = lngOldRow For i = 1 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i MSFlexGrid1.CellBackColor = vbWhite Next
MSFlexGrid1.Row = lngNewRow For i = 1 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i MSFlexGrid1.CellBackColor = vbRed Next MSFlexGrid1.Redraw = True
Option Explicit Private Sub Form_Load() Dim i As Integer, j As Integer With MSHFlexGrid1 .Rows = 10 .Cols = 4 For i = 1 To 9 .TextMatrix(i, 0) = "第 " & i & " 行" For j = 1 To 3 .TextMatrix(0, j) = "第 " & j & " 列" .TextMatrix(i, j) = i & "," & j Next Next .SelectionMode = flexSelectionByRow .BackColorSel = vbGreen .ForeColorSel = vbRed End With End Sub Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) With MSHFlexGrid1 .Row = .MouseRow .Col = 0 .ColSel = .Cols - 1 End With End Sub
Dim i As Long
MSFlexGrid1.Rows = 10: MSFlexGrid1.Cols = 5
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 1) = "aaaa" & i
Next MSFlexGrid1.SelectionMode = flexSelectionByRow
End SubPrivate Sub MSFlexGrid1_SelChange()
MSFlexGrid1.Redraw = False
Dim i As Long, lngNewRow As Long
lngNewRow = MSFlexGrid1.Row
MSFlexGrid1.Row = lngOldRow
For i = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = vbWhite
Next
MSFlexGrid1.Row = lngNewRow
For i = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = vbRed
Next
MSFlexGrid1.Redraw = True
lngOldRow = lngNewRow
End Sub
你可以确定了行号,然后挨个格改变,
Private Sub Form_Load()
Dim i As Integer, j As Integer
With MSHFlexGrid1
.Rows = 10
.Cols = 4
For i = 1 To 9
.TextMatrix(i, 0) = "第 " & i & " 行"
For j = 1 To 3
.TextMatrix(0, j) = "第 " & j & " 列"
.TextMatrix(i, j) = i & "," & j
Next
Next
.SelectionMode = flexSelectionByRow
.BackColorSel = vbGreen
.ForeColorSel = vbRed
End With
End Sub
Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
With MSHFlexGrid1
.Row = .MouseRow
.Col = 0
.ColSel = .Cols - 1
End With
End Sub