VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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の新しい視覚スタイルには対応しません。

                      つづく


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -