mamer 发表于 2008-7-29 19:30:58

如何捕获鼠标双击事件?

我想在某个LABEL控件上响应鼠标双击,我该如何做?
需要用到“消息”吗?如果用到,该注册什么消息?(我查不到LABEL控件的)
如果再同时捕获CTRL键,该进一步怎么做?

顽固不化 发表于 2008-7-29 19:37:32

基本函数里没有鼠标双击事件,可以自已模拟,但有点复杂了。

linfulai 发表于 2008-7-29 19:50:30

我也想知道,继续等待!!!1

sanhen 发表于 2008-7-29 20:23:28

#include <GUIConstants.au3>

Const $DebugIt = 1

Global Const $WM_COMMAND = 0x0111
Global Const $STN_DBLCLK = 1

GUICreate("双击控件例子")

$test=GUICtrlCreateLabel("双击我试下",100,50,100,30)
GUISetState()
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")

Do
    $msg = GUIGetMsg()

Until $msg = -3

Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
    Local $nNotifyCode = BitShift($wParam,16)
    Local $nID = BitAND($wParam, 0xFFFF)
    Local $hCtrl = $lParam

    Switch $nID
      Case $test
            Switch $nNotifyCode
                Case $STN_DBLCLK
                   MsgBox(16,"警告","你丫的,还真的双击啊")
            EndSwitch
    EndSwitch

    Return $GUI_RUNDEFMSG
EndFunc   ;==>MY_WM_COMMAND




mamer 发表于 2008-7-30 09:55:10

谢谢叁恨居士.

sun49 发表于 2008-9-26 17:40:03

有点晕,看不懂上面的代码,有没有给个注释呀,新手哦!谢谢!

tisiem 发表于 2009-7-12 15:32:01

内置常用控件的,就用 GUIRegisterMsg 来解决。

KEYFree2008 发表于 2009-8-21 16:30:56

很有用的源码,收藏一个

ccxw1983 发表于 2010-1-18 22:22:36

不错,正规做法。

lancaogen1999 发表于 2010-4-26 22:18:03

:face (13):看不懂

wsfda 发表于 2011-6-6 01:00:06

回复 4# sanhen


    GUICtrlCreateButton使用这个按钮呢?可以吗,要如何做啊

lijiankaif 发表于 2011-6-13 16:18:57

观摩学习,强大

lijiankaif 发表于 2011-6-13 16:19:36

观摩学习,强大

lijiankaif 发表于 2011-6-13 16:21:28

观摩学习,强大

fengzr 发表于 2011-8-5 21:42:57

好东东,回头测试一下!!!
页: [1] 2
查看完整版本: 如何捕获鼠标双击事件?