VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 コマンドボタン関係のメニュー
1.Command ボタンに関するワンポイントテクニック集
2.Command1.Caption 等に左揃え・右揃えで文字を表示
3.Win32 API を使っての Command ボタンの Caption の Alignment を設定
4.コマンドボタンの装飾(ForeColor / フォント色の設定他)
5. コマンドボタンでダブルクリックイベントを取得する
6.コマンドボタン上でのリピート操作を実装する
7.キーボードフックによるコマンドボタン上での検出できないキーの監視
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載しているコマンドボタンに関するサンプル


5.コマンドボタンでダブルクリックイベントを取得する
1.コマンドボタンでダブルクリックイベントを取得する
2. 
3. 
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:MyWaitDll.DLL                  参照設定方法参照
使用 API:GetDoubleClickTime
その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。
    :
このページのトップへ移動します。 1.コマンドボタンでダブルクリックイベントを取得する

Option Explicit   'SampleNo=274 2003.04.02

'マウスのダブルクリックの間隔を取得する(P1042)
Private Declare Function GetDoubleClickTime Lib "user32" () As Long
Private nClick As Integer  'マウスクリックのカウント用

Private Sub Command1_Click()
'ダブルクリックを感知する
  nClick = nClick + 1   'クリックの回数をカウントする

  'どちらかの方法をご使用下さい。
  If MyWaitDll を使用する場合 Then
    Wait GetDoubleClickTime
  Else
    Dim sngSt As Single
    'マウスのダブルクリックの間隔を考慮(0.18~0.9)
    sngSt = Timer + GetDoubleClickTime / 1000
    If sngSt >= 86400 Then
      sngSt = sngSt - 86400
    End If
    '場合によっては待機時間を調整して下さい。
    'APIを使用しないなら0.18~0.9秒の範囲で待機して下さい。
    Do While Timer < sngSt
      DoEvents
    Loop
  End If

  If nClick = 1 Then
    'シングルクリックイベントの処理
    MsgBox "シングルクリックです。"
  ElseIf nClick >= 2 Then   ' = 2 でもいいかも
    'ダブルクリックイベントの処理
    MsgBox "ダブルクリックです。"
  End If
  nClick = 0
End Sub

Private Sub Command2_Click()
  'この PC のダブルクリックの間隔を取得
  Debug.Print GetDoubleClickTime / 1000  '結果  0.55 秒
End Sub

注意、Timer は午前0時にリセットされる。 timeGetTime(MyWaitDll で使用) は約 49.71 日でリセットされる
 従って上記条件で使用される場合は、考慮して下さい。


CommandButton 等ダブルクリックイベントの無いコントロールでダブルクリックイベントを取得する
Microsoft Forms2.0のCommandButtonにはダブルクリックイベントがあるのですが使用するとボタンが凹んだままになったり、又再配布も出来ません。
ピクチャーボックスで作るという手もあるのですがボタンの画像を作ったりと結構面倒なのでお手軽な方法を考えて見ました。

このページのトップへ移動します。 2. 



このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
CommandButton でダブルクリックを取得する マウスのダブルクリックの間隔を取得する ダブルクリックイベント



このページのトップへ移動します。