• ベストアンサー

VBでキーボード入力をフォーム上で対応させるには

Microsoft VisualBasic6.5でプログラミングしています。 キーボード入力を確認するツールを作成しようと思っています。 UserForm上に、CommandButtonを2個配置して それぞれに 数字の 1と2を設定。 キーボードの1と2を押すと、CommandButtunが マウスで押されたときのように表示する方法が わかりません。 プログラム初心者です。 よろしくお願いいたします。

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

  • ベストアンサー
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.4

よく読みかえしてみたらVB6.5って VBAのものですね。 (userform commandbutton )と書いてありましたね。 ふつうはこんな使い方をしないと思いますが 参考にしてください。 Private Sub UserForm_Initialize() CommandButton1.Enabled = False CommandButton2.Enabled = False CommandButton1.BackColor = &H0 CommandButton2.BackColor = &H0 End Sub Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) CommandButton1.Caption = "" CommandButton2.Caption = ""   If KeyAscii = 49 Then CommandButton1.BackColor = &HFF0000 CommandButton2.BackColor = &HFF CommandButton1.Caption = 1   End If If KeyAscii = 50 Then CommandButton1.BackColor = &HFF CommandButton2.BackColor = &HFF0000 CommandButton2.Caption = 2 End If End Sub

John_Rambo
質問者

お礼

DreamyCatさん ソースの提示ありがとうございます。 早速動作確認しましたところ、こちらの希望通りの 動作を確認できました。 これをベースに完成させたいと思います。 本当にありがとうございました。 ※ また作成途中に疑問点等が出てくると思いますが  その際はまた質問させていただきたいと思います。  よろしくお願いいたします。

その他の回答 (3)

回答No.3

>UserForm上に、CommandButtonを2個配置して >それぞれに 数字の 1と2を設定。 >キーボードの1と2を押すと、CommandButtunが >マウスで押されたときのように表示する方法が >わかりません。 数字キーの 1 だけでは、そのようにはできません。 Alt + 1 を押すならば、上記のように設定はできます。 その場合、CommandButton のキャプションには、 &1 と &2 の ように設定して下さい。 実行するとボタンの表面の 1 にアンダーラインが表示していれば Alt キー と 1 キー を同時に押すと、CommandButton1 をクリック した場合と同じになります。

John_Rambo
質問者

お礼

ご回答ありがとうございます。 どうしても1つのキーを押すアクションで希望の動作が できないか、質問させていただきました。 別の方からの回答で希望の動作を確認できました。 ありがとうございました。

noname#187541
noname#187541
回答No.2

こんにちは。 VB6は持っていませんので参考程度に。 フォームでキーイベントを受け取れるようにして、このイベントで処理をする、というのはどうですか? フォームでもキーイベントを受け取るようにする http://jeanne.wankuma.com/tips/vb6/form/keypreview.html

John_Rambo
質問者

お礼

ありがとうございます。 こちらに記載されているものを使ってみましたが やはりうまく動きません。 大変恐縮ですが、そのものズバリのソースがあれば 教えていただきたいと思います。

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

keydown keypress keyupなどのイベントプロシージャの中から どれか適切なものを選べばkeycodeかkeyascで取得できるはずだったと思います。 (もう10年近く触っていないので・・・)

John_Rambo
質問者

お礼

早々にご回答ありがとうございます。 いろいろネット上で調べ、教えていただいたコマンドも 試してみましたがうまく反応しません。 (ボタンをマウスクリックしたときのように、ボタンがへこむ感じ) 簡単なサンプルを提示いただけると幸いです。

関連するQ&A

専門家に質問してみよう