矢印キーでのセル移動を無効にするには?

文書番号 : 26735     文書種別 : 使用方法     最終更新日 : 2009/02/21
文書を印刷する
対象製品
VS-FlexGrid Pro 8.0J
詳細
矢印キーの動作を制御するプロパティ等は用意されていませんが、非編集時はKeyDownイベントを、編集時はKeyDownEditイベントを使用して矢印キーの入力を無効にすることで実装可能です

◎サンプルコード(VB)
' 非編集時の矢印キーを無効にします
Private Sub VSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
  If (KeyCode = vbKeyRight) Or (KeyCode = vbKeyLeft) Or _
    (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown) Then
      KeyCode = 0
  End If
End Sub

' 編集時の矢印キーを無効にします
' (セル内の値部分での移動は許可)

Private Sub VSFlexGrid1_KeyDownEdit(ByVal Row As Long, ByVal Col As Long, KeyCode As Integer, ByVal Shift As Integer)
  With VSFlexGrid1
    If (KeyCode = vbKeyRight And .EditSelStart = Len(.EditText)) Or _
      (KeyCode = vbKeyLeft And .EditSelStart = 0) Or _
      (KeyCode = vbKeyUp) Or _
      (KeyCode = vbKeyDown) Then
        KeyCode = 0
    End If
  End With
End Sub

キーワード
HowTo

この文書は、以前は次のFAQ IDで公開されていました : 11648