フォーカス移動をしています。下記の処理で、テキストボックスを移動させ最後に
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
一般にキーボード入力の時には、クリックという表現を使わないので
Sub 「ENTERキー」ボタンのコントロール名_Click()
に記述すべきでは?
ななさん、ありがとうございます。
しかし、初心者なもので、ちょっと分かりにくいです。
申し訳ありません。
「一般にキーボード入力の時には、クリックという表現を使わないので」とあるんですが、キーボード上の「ENTER」を押すと<OK>ボタンの処理に走るように
したいのです。
>キーボード上の「ENTER」を押すと<OK>ボタンの処理に走るようにしたいのです。
それではクリックとは別の動作なので前提条件が違いますので
無視してください。
ちなみにクリックとは
http://e-words.jp/w/E382AFE383AAE38383E382AF.html
という意味です。
単にコマンドボタンの処理に飛ばすだけでは?
Private Sub txtAA_KeyDown(KeyCode As Integer, Shift As Integer)
If Keycode = 13 Then 'Enterキーを押したとき
Command1_Click
End If
End Sub
とか
KeyDown ではなく KeyPress
無事に出来ました!!
みんさん、本当にありがとうございます。
DefaultプロパティをTrueにするだけでOKかも
(見た目が少し変わるけど)
ツイート | ![]() |