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

[GUI管理] treeview如何点击父项获取下面的子项即父项文本,如何点击子项获取父项即子项文本!!

[复制链接]
发表于 2013-1-11 10:56:07 | 显示全部楼层 |阅读模式
treeview如何点击父项获取下面的子项即父项文本,如何点击子项获取父项即子项文本!!
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <TreeViewConstants.au3>
#include <StaticConstants.au3>
#include <GuiTreeView.au3>
#Include <GuiListView.au3>
GUICreate("My GUI with treeview",800,600, -1, -1)
$TreeView = GUICtrlCreateTreeView(124, 152, 417, 145);, BitOR($GUI_SS_DEFAULT_TREEVIEW,$TVS_CHECKBOXES))
$TreeView1_0 = GUICtrlCreateTreeViewItem("用户个人文档:"&@MyDocumentsDir, $TreeView)
$TreeView1_1 = GUICtrlCreateTreeViewItem("转移到:", $TreeView1_0)
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
GuiSetState(@SW_SHOW)
While 1
        $msg = GUIGetMsg()
         Select 
                 Case $msg = $GUI_EVENT_CLOSE
                 Exit
          EndSelect
WEnd
Func WM_NOTIFY($hWndGUI, $MsgID, $WParam, $LParam)
        Local $tagNMHDR, $Event, $hWndFrom, $IDFrom
        Local $tagNMHDR = DllStructCreate("int;int;int", $LParam)
        If @error Then Return $GUI_RUNDEFMSG
        $IDFrom = DllStructGetData($tagNMHDR, 2)
        $Event = DllStructGetData($tagNMHDR, 3)
        $tagNMHDR = 0
                
        Switch $IDFrom
                
                Case $treeview
                        Switch $Event; 选择产生的事件
                                Case $TVN_SELCHANGEDW ; 左击
                                                                        ;MsgBox(0, '', GUICtrlRead(GUICtrlRead($TreeView1)))
                                                                                If GUICtrlRead($treeview) > 0 Then
                                         $nums =  _GUICtrlTreeView_GetText($treeview, GUICtrlRead($treeview))
                                                                                                                                                                                
                                              MsgBox(0,"",$nums)
                                                                                  EndIf
                                                                                                                                       
        
                   EndSwitch
        EndSwitch
        Return $GUI_RUNDEFMSG
        EndFunc
        
发表于 2013-1-11 11:13:40 | 显示全部楼层
麻烦请用可以理解的中国话说明问题
 楼主| 发表于 2013-1-11 11:33:09 | 显示全部楼层
回复 2# netegg


  不好意思,我的意思是想点击子项时可以获取其父项的文本 反之也一样
 楼主| 发表于 2013-1-11 11:35:14 | 显示全部楼层
回复  netegg


  不好意思,我的意思是想点击子项时可以获取其父项的文本 反之也一样
liupeng1990607 发表于 2013-1-11 11:33



    比如
   +AAA
         -123
         -456
我在点击AAA的时候 可以取出AAA,123,456
在点击 123的时候可以取出123,AAA
在点击 456的时候可以取出456,AAA
发表于 2013-1-11 11:53:31 | 显示全部楼层
本帖最后由 netegg 于 2013-1-11 11:57 编辑

点击父项情况:
_GUICtrlTreeView_GetSelection ---- 获取当前选定项
_GUICtrlTreeView_GetChildCount---获取子项数量
枚举
点击子项情况
_GUICtrlTreeView_GetParentHandle---获取父项句柄
_GUICtrlTreeView_GetSiblingCount----获取同级子项数量
枚举

另外,treeview比较麻烦,句柄和索引要倒来倒去的,注意下就行了
 楼主| 发表于 2013-1-11 12:37:30 | 显示全部楼层
回复 5# netegg


    谢谢 已解决了!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 09:44 , Processed in 0.070816 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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