ENTERをクリックして処理を走らせる方法

解決


初心者。。  2006-01-13 19:50:58  No: 129527

フォーカス移動をしています。下記の処理で、テキストボックスを移動させ最後に
ENTERキーをクリックすると、用意してあるコマンドボタンの<OK>ボタンの処理に
走るようにしたいのですが、よく分りません。
誰か、ご教授お願い致します。

**************** enter キー 又は「↓」による移動***************
Private Sub txtAA_KeyDown(KeyCode As Integer, Shift As Integer)
    MoveFocus txtAA, KeyCode, txtBB
End Sub

'**************** enter キー 又は「↓」による移動の処理関数************
Private Sub MoveFocus(ctl As Control, cd As Integer, nextctl As Control)
  
  If cd = 13 Or cd = 40 Then       'Enterキー,「↓」を押したとき
    cd = 0
    nextctl.SetFocus    'フォーカスの移動
  End If

End Su


なな  2006-01-13 20:19:40  No: 129528

一般にキーボード入力の時には、クリックという表現を使わないので

Sub 「ENTERキー」ボタンのコントロール名_Click()

に記述すべきでは?


初心者。。  2006-01-13 20:38:16  No: 129529

ななさん、ありがとうございます。

しかし、初心者なもので、ちょっと分かりにくいです。
申し訳ありません。

「一般にキーボード入力の時には、クリックという表現を使わないので」とあるんですが、キーボード上の「ENTER」を押すと<OK>ボタンの処理に走るように
したいのです。


なな  2006-01-13 20:47:21  No: 129530

>キーボード上の「ENTER」を押すと<OK>ボタンの処理に走るようにしたいのです。

それではクリックとは別の動作なので前提条件が違いますので
無視してください。

ちなみにクリックとは
http://e-words.jp/w/E382AFE383AAE38383E382AF.html
という意味です。


通ってみた  2006-01-13 20:54:05  No: 129531

単にコマンドボタンの処理に飛ばすだけでは?

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

If Keycode = 13 Then       'Enterキーを押したとき
    Command1_Click
End If

End Sub

とか


ハトホル  2006-01-13 20:58:21  No: 129532

KeyDown ではなく KeyPress


初心者。。  2006-01-13 22:04:15  No: 129533

無事に出来ました!!
みんさん、本当にありがとうございます。


ひろ  2006-01-14 00:15:02  No: 129534

DefaultプロパティをTrueにするだけでOKかも
(見た目が少し変わるけど)


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加