今天再看了一下,感觉:开始:创建程序主窗口再加上:
Form1()
While 1
Sleep(1000)
WEnd
Func Form1()
;======================== ;;; 开始:创建程序主窗口 ;;; ========================
省略-----
Call("ShowItems")
EndFunc ;==>Form1
这样会更顺畅。
把:
;创建 TreeView 右键菜单
Local Enum $TreeEdit = 1000, $TreeDelete
Local $TreeContext = _GUICtrlMenu_CreatePopup()
_GUICtrlMenu_InsertMenuItem($TreeContext, 0, "修改分组", $TreeEdit)
_GUICtrlMenu_InsertMenuItem($TreeContext, 1, "")
_GUICtrlMenu_InsertMenuItem($TreeContext, 2, "删除分组", $TreeDelete)
移到
Switch _GUICtrlMenu_TrackPopupMenu($TreeContext, $hWndFrom, -1, -1, 1, 1, 2)
上面。
删除:
While 1
;;
WEnd 本帖最后由 imutraveler 于 2016-9-29 18:02 编辑
回复 16# chzj589
真是非常感谢你!我已经在while 1中加了sleep(500),否则CPU占用会到28%
有2点,1. 主程序放在函数中,调用函数 ,不是一样的效果?为什么要这么做呢?
2. 你的意思是,把创建右键菜单的代码,放在 TreeView 的Case $NM_RCLICK 右键点击事件里?
还发现了新的BUG,是关于 _GUIImageList_Create()的,
程序里,使用该UDF 创建了图标控件,给TreeView使用,,我后来加了一句_GUICtrlListView_SetImageList($ListView, $hImage, 1)在129行,让ListView也使用这些图标。
到这里问题就出现了,只要让ListView使用图标,TreeView的图标就出问题,点击和非点击2中状态的图标会重叠,而不是刷新!只要注释掉 129行,就好了,
难道同一个imagelist不能被不同控件 调用?? 回复chzj589
真是非常感谢你!我已经在while 1中加了sleep(500),否则CPU占用会到28%
...
imutraveler 发表于 2016-9-29 18:00 http://www.autoitx.com/images/common/back.gif
如果在 开始:创建程序主窗口前加上:
Form1()
While 1
Sleep(1000)
WEnd
Func Form1()
创建右键菜单的代码,必需放在 TreeView 的Case $NM_RCLICK 右键点击事件里,
否则右键菜单不能显示。
主程序放在函数中,调用函数 ,为什么要这么做呢?
这个我也不知道,在我自己的代码多次调试中,感觉程序会好一点。 本帖最后由 imutraveler 于 2016-9-29 20:33 编辑
回复 18# chzj589
好吧,目前程序中,右键菜单的代码在主程序的GUI部分,
而 Switch _GUICtrlMenu_TrackPopupMenu($TreeContext, $hWndFrom, -1, -1, 1, 1, 2)在TreeView 的Case $NM_RCLICK 右键事件中!
貌似也没问题!
试了一下,把右键菜单代码放到这个Switch上面, 都可以执行。
页:
1
[2]