kxing 发表于 2012-11-28 16:03:43

[已解决]求助如何得到树形控件的子项目所在的项

本帖最后由 kxing 于 2012-11-30 09:34 编辑

例如我创建了一个treeview:
包括:动物,水果,植物等三个大项。
其次:动物里面创建了子项目:老虎,狮子,熊猫等等。

问题是现在我只知道熊猫,那么如何知道他是在动物分类里面呢?
多谢高手指点!!!

annybaby 发表于 2012-11-28 17:38:35

回复 1# kxing


    _GUICtrlTreeView_FindItem

netegg 发表于 2012-11-28 19:48:20

_GUICtrlTreeView_GetParentHandle
不过树形很麻烦,索引和句柄必须枚举才行

afan 发表于 2012-11-28 19:56:53

还可以看看 _GUICtrlTreeView_GetParentParam($hWnd, $hItem = 0)

kxing 发表于 2012-11-29 22:51:42

多谢楼上各位老兄,我试试看。。。

kxing 发表于 2012-11-30 09:33:42

问题解决啦,特把解决办法贴上供有需要朋友学习。

#include <GUIConstantsEx.au3>
#include <GuiTreeView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>


GUICreate("TreeView",400,300)
$hTreeView = GUICtrlCreateTreeView(2, 2, 396, 268)
GUISetState()

For $x = 1 To 10
$hItem=GUICtrlCreateTreeViewItem($hTreeView,"item"&$x)
For $y = 1 To 3
GUICtrlCreateTreeViewItem($hItem,"child"&$y)
Next
Next

while 1
if guigetmsg()=-3 then
$text=_guictrltreeview_getparenttext($hTreeview,_guictrltreeview_getselection($hTreeview))
msgbox(0,'所在分类名',$text)
exit
endif
wend

func _guictrltreeview_getparenttext($hTreeView,$hItem)
if _guictrltreeview_getchildren($hTreeView,$hItem) then return ""
while $hItem<>0x00000000
$hItem=_guictrltreeview_getprev($hTreeView,$hItem)
if _guictrltreeview_getchildren($hTreeView,$hItem) then return _guictrltreeview_gettext($hTreeView,$hiTem)
wend
return ""
endfunc;getparenttext
页: [1]
查看完整版本: [已解决]求助如何得到树形控件的子项目所在的项