xyhqqaa 发表于 2012-3-21 16:24:04

右键菜单。选择某项后其在菜单内隐藏或者消失

有个想法,就是在右键菜单内。。比如我选择1后。在次选择的时候,选项内只剩2.3.4.但我再次选择2时,选项卡内又剩1.2.3。。不知道这样能不能实现。。。或者需要用到什么参数。。求指教

afan 发表于 2012-3-21 16:24:05

#include <GuiMenu.au3>
#include <Array.au3>

Opt('GUIOnEventMode', 1)
Local $aNum =

GUICreate('右键菜单动态建立 by afan', 200, 100)
GUISetOnEvent(-3, '_Exit')
GUISetState()
$iLb = GUICtrlCreateLabel('', 50, 10, 60, 12)
GUIRegisterMsg(0x0111, '_WM_COMMAND')
GUIRegisterMsg(0x007B, '_WM_CONTEXTMENU')

While 1
        Sleep(100)
WEnd

Func _Exit()
        Exit
EndFunc   ;==>_Exit

Func _WM_COMMAND($hWnd, $iMsg, $iwParam)
        Switch $iwParam
                Case 1000 To 1004
                        $ix = _ArraySearch($aNum, Number($iwParam) - 1000)
                        _ArrayDelete($aNum, $ix)
                        GUICtrlSetData($iLb, GUICtrlRead($iLb) & Number($iwParam) - 1000)
                Case 1008
                        Dim $aNum =
                        GUICtrlSetData($iLb, '')
        EndSwitch
EndFunc   ;==>_WM_COMMAND

Func _WM_CONTEXTMENU($hWnd)
        Local $hMenu = _GUICtrlMenu_CreatePopup()
        For $i = 0 To UBound($aNum) - 1
                _GUICtrlMenu_AddMenuItem($hMenu, $aNum[$i], 1000 + $aNum[$i])
        Next
        _GUICtrlMenu_AddMenuItem($hMenu, '')
        _GUICtrlMenu_AddMenuItem($hMenu, '重置', 1008)
        _GUICtrlMenu_TrackPopupMenu($hMenu, $hWnd)
        _GUICtrlMenu_DestroyMenu($hMenu)
EndFunc   ;==>_WM_CONTEXTMENU

xyhqqaa 发表于 2012-3-21 17:34:47

回复 2# afan


    Afan哥。。嫁给我吧。。。。。作为一个职业的无耻伸手党。。。。谢谢。。。囧。。。好像每次都是您在帮忙。。。。。惭愧。。。。。。谢谢、、、、

afan 发表于 2012-3-21 17:35:43

回复 3# xyhqqaa


    哥能嫁给你吗?哥只能嫁给妹~

xyhqqaa 发表于 2012-3-21 17:48:42

回复 4# afan
(*^__^*) 嘻嘻……:face (37):

haijie1223 发表于 2012-3-22 09:08:47

没想到楼主还有这个嗜好!让A版嫁给你 ...让A版开坛说法还差不多

richardhc 发表于 2012-3-29 12:28:46

怎样直接执行到右键菜单的程序呢?
是个dll
页: [1]
查看完整版本: 右键菜单。选择某项后其在菜单内隐藏或者消失