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

投稿日: 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


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

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

- Web Forum -