关于鼠标右键的消息写法
在帮助里面 有这么个自定义消息函数请问 要是$nNotifyCode是鼠标右键消息 应该怎么写呢?
Func WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
#forceref $hWnd, $Msg
Local $nNotifyCode = BitShift($wParam, 16)
Local $nID = BitAND($wParam, 0x0000FFFF)
Local $hCtrl = $lParam
Local $sText = ""
Switch $hCtrl
Case $btn, $rdo, $chk
Switch $nNotifyCode
Case $BN_CLICKED
$sText = "$BN_CLICKED" & @CRLF
Case $BN_PAINT
$sText = "$BN_PAINT" & @CRLF
Case $BN_PUSHED, $BN_HILITE
$sText = "$BN_PUSHED, $BN_HILITE" & @CRLF
Case $BN_UNPUSHED, $BN_UNHILITE
$sText = "$BN_UNPUSHED" & @CRLF
Case $BN_DISABLE
$sText = "$BN_DISABLE" & @CRLF
Case $BN_DBLCLK, $BN_DOUBLECLICKED
$sText = "$BN_DBLCLK, $BN_DOUBLECLICKED" & @CRLF
Case $BN_SETFOCUS
$sText = "$BN_SETFOCUS" & @CRLF
Case $BN_KILLFOCUS
$sText = "$BN_KILLFOCUS" & @CRLF
EndSwitch
MemoWrite($sText & _
"-----------------------------" & @CRLF & _
"WM_COMMAND - Infos:" & @CRLF & _
"-----------------------------" & @CRLF & _
"Code" & @TAB & ":" & $nNotifyCode & @CRLF & _
"CtrlID" & @TAB & ":" & $nID & @CRLF & _
"CtrlHWnd:" & $hCtrl & @CRLF & _
_GUICtrlButton_GetText($hCtrl) & @CRLF)
Return 0 ; Only workout clicking on the button
EndSwitch
; Proceed the default AutoIt3 internal message commands.
; You also can complete let the line out.
; !!! But only 'Return' (without any value) will not proceed
; the default AutoIt3-message in the future !!!
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND #include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiTreeView.au3>
#include <GuiConstantsEx.au3>
$form=GUICreate("欢迎", 800,660,-1,-1)
$htv = GUICtrlCreateTreeView(5, 5,330,585)
$zd1 = GUICtrlCreateContextMenu($htv)
$tj1 = GUICtrlCreateMenuItem("添加",$zd1)
$sc1 = GUICtrlCreateMenuItem("删除",$zd1)
$rn1 = GUICtrlCreateMenuItem("修改",$zd1)
$sx1 = GUICtrlCreateMenuItem("显示",$zd1)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $tj1
MsgBox(64,"提示","这是添加")
;..........
EndSwitch
WEnd 你这个方法 确实可以但是只能用于固定的控件
要是动态的控件 就不可以了 WM_RBUTTONDOWN 注册这个消息,别用command消息 学习了,,2楼的代码干净整洁~点个赞~ 学习了,感谢分享! 回复 2# ap112
楼主要用消息,给个事件有什么用 主要是 空间如果是 动态建立的怎么写这个消息 回复ap112
楼主要用消息,给个事件有什么用
netegg 发表于 2014-10-24 10:39 http://www.autoitx.com/images/common/back.gif
主要是 控件如果是 动态建立的怎么写这个消息 消息只管你的操作,和控件标识没关系 消息只管你的操作,和控件标识没关系 消息只管你的操作,和控件标识没关系
netegg 发表于 2014-10-24 17:47 http://www.autoitx.com/images/common/back.gif
要是控件是动态建立的 那么2楼的方法就不行了 本帖最后由 netegg 于 2014-10-25 11:03 编辑
动态建立的按钮总有句柄呀,指定就行了,消息函数里的窗口句柄参数可以使用控件句柄 动态建立的按钮总有句柄呀,指定就行了,消息函数里的窗口句柄参数可以使用控件句柄
netegg 发表于 2014-10-25 11:02 http://www.autoitx.com/images/common/back.gif
是的 咱们在群里讨论过了
页:
[1]