Vb6 如何在单击tab键和单元格着色时聚焦下一个单元格

Vb6 如何在单击tab键和单元格着色时聚焦下一个单元格,vb6,msflexgrid,Vb6,Msflexgrid,我是vb新手 柔性网格 Header 01 .... 31 Values ......... 我在运行时在flexgrid单元格中输入值,如果单击tab按钮,焦点将移动到同一行的下一个单元格 Ascii码 Private Sub flexgrid_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57 flexgrid.Text = flexgrid.Text & Chr(KeyAscii) Cas

我是vb新手

柔性网格

Header 01 .... 31
Values .........
我在运行时在flexgrid单元格中输入值,如果单击tab按钮,焦点将移动到同一行的下一个单元格

Ascii码

Private Sub flexgrid_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
  Case 48 To 57
   flexgrid.Text = flexgrid.Text & Chr(KeyAscii)
  Case 46 'Dot
   flexgrid.Text = flexgrid.Text & Chr(KeyAscii)
  Case 8
   If Len(flexgrid.Text) > 0 Then
    flexgrid.Text = Left(flexgrid.Text, (Len(flexgrid.Text) - 1))
   End If
  Case Else
   KeyAscii = 0
   Beep
 End Select
End Sub
如何做到这一点

以及如何更改特定单元格的背景颜色。 代码


任何想法和建议…?

要移动所选列,请使用KeyDown(或keydup,如果愿意)事件并将代码放在那里

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)

    If KeyCode = Asc(vbTab) Then
        If MSFlexGrid1.Col < MSFlexGrid1.Cols - 1 Then
            MSFlexGrid1.Col = MSFlexGrid1.Col + 1
        End If
    End If

End Sub
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)

    If KeyCode = Asc(vbTab) Then
        If MSFlexGrid1.Col < MSFlexGrid1.Cols - 1 Then
            MSFlexGrid1.Col = MSFlexGrid1.Col + 1
        End If
    End If

End Sub
flexgrid.Row = i
flexgrid.Col = 33
flexgrid.CellBackColor = vbRed