OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

タブキー押下時のイベントをひろいたい。

  • すぐに回答を!
  • 質問No.129811
  • 閲覧数4168
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 30% (13/43)

テキストボックスにフォーカスがあり、TABキーが押された時のイベントをひろいたいのですが、KeyPressもKeyDownもイベントが発生しません。

(If KeyCode = vbKeyTab Then
 MsgBox "タブキー"
End If 

If KeyAscii = vbKeyTab Then ~
のようなコードを記述してもメッセージが表示されない)

ヘルプにはKeyDownでは発生しないという記述がありますが、KeyPressではイベントがひろえるようなことが書いてあるのにひろえないので困っています。

なにかよい方法はありませんでしょうか。
わかりにくい説明で申し訳ありませんが困ってます。
宜しくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル8

ベストアンサー率 60% (20/33)

テキストボックスのほかに、コントロールを貼り付けていませんか?
他のコントロールにタブ移動していてイベントがこなくなっているのでは?
フォーカスを当てられるほかのコントロールのTabStopをFalseにすればいいのでは?
違ってたらすんません。
じゃ、そゆことで。
お礼コメント
terako

お礼率 30% (13/43)

貼り付けてました・・・。
見た目は全部ラベルだったのでおかしいなとよくよく見たらテキストボックスの不活性継承の為のピクチャボックスがTabstop=Trueになってました。
おかげさまで無事TAB拾えました。どうもありがとうございました。
投稿日時 - 2001-09-10 02:22:32
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル12

ベストアンサー率 45% (210/459)

こんにちは。itohhといいます。 KeyPressとKeyDownイベントの引数ですが、意味合いが違います。 KeyPressイベントのKeyAsciiは、Asciiコードが設定されてきます。 KeyDownイベントのKeyCodeは、VBで決めているキーコード定数が設定されてきます。 KeyPressイベントでTabを拾いたい場合は、以下のように行います。 Private Sub ...続きを読む
こんにちは。itohhといいます。

KeyPressとKeyDownイベントの引数ですが、意味合いが違います。

KeyPressイベントのKeyAsciiは、Asciiコードが設定されてきます。
KeyDownイベントのKeyCodeは、VBで決めているキーコード定数が設定されてきます。

KeyPressイベントでTabを拾いたい場合は、以下のように行います。
Private Sub Text1_KeyPress(KeyAscii As Integer)
  Dim Rtn As Integer

  If KeyAscii = Asc(vbTab) Then
    Rtn = MsgBox("Hit!!", vbOKOnly)
  End If

End Sub
お礼コメント
terako

お礼率 30% (13/43)

質問時にコピーしてコードを書いてしまったのでKeyPressとKeyDownのコードを同じにしてしまいました・・・。間違いのご指摘ありがとうございます。
無事解決しました。どうもありがとうございました。
投稿日時 - 2001-09-10 02:26:10
  • 回答No.2
レベル14

ベストアンサー率 51% (1179/2272)

KeyPressイベントなら、次のどれでも出来るはずです。(確認済) 例1) Dim str As String str = Chr(KeyAscii) If str = vbTab Then MsgBox "Tab key!" End If 例2) If KeyAscii = 9 Th ...続きを読む
KeyPressイベントなら、次のどれでも出来るはずです。(確認済)

例1)
Dim str As String

str = Chr(KeyAscii)
If str = vbTab Then
MsgBox "Tab key!"
End If

例2)
If KeyAscii = 9 Then
MsgBox "Tab key!"
End If

例3)
If KeyAscii = vbKeyTab Then
MsgBox "Tab key!"
End If
お礼コメント
terako

お礼率 30% (13/43)

動作確認までして頂いて、丁寧なご回答どうもありがとうございました。
無事解決しました。ありがとうございます。
投稿日時 - 2001-09-10 02:27:21
  • 回答No.4
レベル13

ベストアンサー率 59% (729/1235)

確かにKeyPressでTABキーを拾えませんね(VB4) 対処方法は参考URLにあります ...続きを読む
確かにKeyPressでTABキーを拾えませんね(VB4)
対処方法は参考URLにあります
お礼コメント
terako

お礼率 30% (13/43)

為になる参考URL教えていただきありがとうございました。無事解決しました。
投稿日時 - 2001-09-10 02:23:23
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ