投稿日 | : 2005/05/14(Sat) 15:33 |
投稿者 | : Starfish |
Eメール | : |
URL | : |
タイトル | : Re^3: キーボードとコマンドボタンを連動させたい |
> ボタンを配列にしているのですが
> テンキー"1"を押したとき
> ちゃんとボタン"1"が動くようにするにはどうしたらいいでしょうか?
VBのみでそれっぽくやる方法です。
コマンドボタンではなくて、チェックボックスを使います。フォームに
チェックボックスを貼り付けて、チェックボックスのStyle プロパティは、
1(グラフィックス)にします。
又、フォームのKeyPreview プロパティは True にします。
Private Sub Check1_Click()
Dim sngStart As Single
If Check1.Value = vbChecked Then
sngStart = Timer
While (sngStart <= Timer) And (sngStart + 0.1 > Timer)
DoEvents
Wend
' コマンドボタンをクリックしたときの処理をここに入れる
Check1.Value = vbUnchecked
End If
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Check1.Value = 1
End Sub
これで動作を確認できたら、後は、チェックボックスを配列にして、
押されたキーを判断して該当のチェックボックスの Value を、1にする
様に変更します。
制限
コマンドボタンとちょっと見た目が異なります。
XPの新しい視覚スタイルには対応しません。
つづく