● [Enter]キーでフォーカスを移動する ●

なつかしい。げにげに。ちなみに Shift + Enter で逆に移動します。

Text1 という名前のテキストボックスをコントロール配列で幾つか用意し、以下をコピペ。

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const VK_TAB = &H9
Private Const VK_SHIFT = &H10
Private Const VK_RETURN = &HD

Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)

  If KeyCode = vbKeyReturn Then
      Call PostMessage(Me.hwnd, WM_KEYDOWN, VK_TAB, 0&)
  End If

End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)

  'ビープ音がならないようにする
  If KeyAscii = vbKeyReturn Then KeyAscii = 0

End Sub

戻る