0

私はvbが初めてです

フレックスグリッド

Header 01 .... 31
Values .........

実行時に FlexGrid セルに値を入力しています。タブ ボタンをクリックすると、同じ行の次のセルにフォーカスが移動します。

アスキーのコード

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

これを行う方法。

また、特定のセルの背景色を変更する方法。コード

    For i = 1 To flexgrid.Rows - 1
        flexgrid.TextMatrix(i, 33) = vbred 'It's giving value like '255'
        flexgrid.TextMatrix(i, 33) = .CellBackColor = vbred 'It's giving value 'False'
    Next i

アイデアや提案はありますか...?

4

1 に答える 1

0

選択した列を移動するには、KeyDown(または必要に応じてKeyUp)イベントを使用して、そこにコードを配置します。

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

セルの背景色を変更するには、最初にセルを設定し、次にCellBackColorを設定します。

flexgrid.Row = i
flexgrid.Col = 33
flexgrid.CellBackColor = vbRed
于 2012-01-12T19:16:47.390 に答える