找回密码
 加入
搜索
查看: 2895|回复: 5

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

[复制链接]
发表于 2012-11-28 16:03:43 | 显示全部楼层 |阅读模式
本帖最后由 kxing 于 2012-11-30 09:34 编辑

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

问题是现在我只知道熊猫,那么如何知道他是在动物分类里面呢?
多谢高手指点!!!
发表于 2012-11-28 17:38:35 | 显示全部楼层
回复 1# kxing


    _GUICtrlTreeView_FindItem
发表于 2012-11-28 19:48:20 | 显示全部楼层
_GUICtrlTreeView_GetParentHandle
不过树形很麻烦,索引和句柄必须枚举才行
发表于 2012-11-28 19:56:53 | 显示全部楼层
还可以看看 _GUICtrlTreeView_GetParentParam($hWnd, $hItem = 0)
 楼主| 发表于 2012-11-29 22:51:42 | 显示全部楼层
多谢楼上各位老兄,我试试看。。。
 楼主| 发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 17:36 , Processed in 0.216304 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表