投稿日 | : 2003/04/02(Wed) 13:42 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re^2: コマンドボタンでダブルクリック |
> ダブルクリックのイベントがないので、Clickイベント内で、
> ダブルクリックの判定処理をいれてはどうでしょうか?
多分その方法が思い浮かばないのですよね!
もっといい方法があるかも知れませんが、一番単純な方法として
Option Explicit
Private Declare Function GetDoubleClickTime Lib "user32" () As Long
Private nClick As Integer 'マウスクリックのカウント用
Private Sub Command1_Click()
'ダブルクリックを感知する
Dim sngSt As Single
nClick = nClick + 1
If Timer >= 86398 Then
MsgBox "真夜中にノックしないで下さい。もう一度やりなおしてね!"
Exit Sub
End If
sngSt = Timer + GetDoubleClickTime / 1000
'場合によっては待機時間を調整して下さい。
Do While Timer < sngSt
DoEvents
Loop
If nClick = 1 Then
'シングルクリックイベントの処理
MsgBox "シングルクリックです。"
ElseIf nClick >= 2 Then ' = 2 でもいいかも
'シングルクリックイベントの処理
'クリックイベントが発生してからダブルクリックイベントが発生するので
'必要によってはここにもシングルクリックの処理を記入して下さい。
MsgBox "シングルクリックです。"
'ダブルクリックイベントの処理
MsgBox "ダブルクリックです。"
End If
nClick = 0
End Sub