如何实现TreeView更新问题,请高手指点
先运行程序,在不退出的情况下,打开ini文本,删除“手机频道=http://”或者其它,回到界面,点击更新按钮,TreeView得到相应的变化。研究了一天,没有研究出,难道TreeView不能实现这个功能?请高手指点。谢谢 你是这样读取INI到 treeview控件上的!你重复一变就行了! 不过重复前清空 treeview 里面的内容就行了! 本帖最后由 qsy666888 于 2014-6-3 23:35 编辑回复 2# f4李文杨
清空用什么函数,大侠,我用guictrlsetdata不行 _GUICtrlTreeView_DeleteAll用这个函数可以清空!控件里所以信息!多看五帮助就明白了!!
清空后!你再按原来的重复一遍读取INI里的信息就行了! 回复 4# f4李文杨
谢谢大侠,要求是达到了,但感觉上似乎差那么一点点,就是比如我是展开节点的,能够看到子项目,一点更新,还得去点开节点去看子项目,是否删除了,不知道还有没有更好的办法? _GUICtrlTreeView_Expand 此函数可以搞定! 其实还有更好的方法!就是获取主目录的句丙或ID 如此主目录里内容有变更新话!只接可以更新里面的内容就行了!不用全部清空(这个方法是笨方法!但是也可以用!{:face (303):})! 程序的智能就是人脑的智能
方法笨,就是程序差 回复 7# f4李文杨
大侠,你说的获取主目录的句丙或ID 如此主目录里内容有变更新话!只接可以更新里面的内容就行了,这个怎么写呢 回复 8# seniors
请问大侠,你有没有更好的方法,请大侠指点一二 我怎么感觉这个问题已经回答过了?难道是我记错了? f4李文杨
已经回复的很清楚了,怎么写,无非是多看几个TreeView的函数 本帖最后由 qsy666888 于 2014-6-4 11:09 编辑
回复 11# 水木子
是更新的问题,大侠,这个问题好像在坛里还是第一次提出 哎呀!别叫我大侠,我担当不起,在咱们论坛里,高手如云,我只是一只菜鸟。
总之没帮上什么忙,共学习,同进步吧! 这样试试看
#include <ButtonConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1)
Global $Form1
GUI()
While 1
Sleep(100)
WEnd
Func GUI()
Local $ini, $htv, $csname = "class", $hClass = 0
$Form1 = GUICreate("treeview", 300, 300)
GUISetOnEvent($GUI_EVENT_CLOSE, "GForm1Close")
$htv = GUICtrlCreateTreeView(0, 0, 150, 300, -1, $WS_EX_CLIENTEDGE)
$Button1 = GUICtrlCreateButton("更新", 216, 208, 67, 25)
GUICtrlSetOnEvent($Button1, "gengxin")
GUISetState(@SW_SHOW)
GUISetState()
readinfo("data.ini", $htv)
EndFunc ;==>GUI
;Do
;Sleep(10)
;Until GUIGetMsg() = -3
Func readinfo($ini, $htv, $csname = "class", $hClass = 0)
If Not $hClass Then $hClass = $htv
$aSec = IniReadSection($ini, $csname)
If @error Then Return False
For $i = 1 To $aSec
$child = IniReadSection($ini, $aSec[$i])
If @error Then;频道
$hItem = GUICtrlCreateTreeViewItem($aSec[$i], $hClass)
Else;子类
$hClass1 = GUICtrlCreateTreeViewItem($aSec[$i], $hClass)
readinfo($ini, $hClass, $aSec[$i], $hClass1)
EndIf;频道或分类
Next
Return True
EndFunc ;==>readinfo
Func gengxin()
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $Form1)
GUI()
EndFunc ;==>gengxin
Func GForm1Close()
Exit
EndFunc ;==>GForm1Close