treeview如何点击父项获取下面的子项即父项文本,如何点击子项获取父项即子项文本!!
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
麻烦请用可以理解的中国话说明问题 回复 2# netegg
不好意思,我的意思是想点击子项时可以获取其父项的文本 反之也一样 回复netegg
不好意思,我的意思是想点击子项时可以获取其父项的文本 反之也一样
liupeng1990607 发表于 2013-1-11 11:33 http://www.autoitx.com/images/common/back.gif
比如
+AAA
-123
-456
我在点击AAA的时候 可以取出AAA,123,456
在点击 123的时候可以取出123,AAA
在点击 456的时候可以取出456,AAA 本帖最后由 netegg 于 2013-1-11 11:57 编辑
点击父项情况:
_GUICtrlTreeView_GetSelection ---- 获取当前选定项
_GUICtrlTreeView_GetChildCount---获取子项数量
枚举
点击子项情况
_GUICtrlTreeView_GetParentHandle---获取父项句柄
_GUICtrlTreeView_GetSiblingCount----获取同级子项数量
枚举
另外,treeview比较麻烦,句柄和索引要倒来倒去的,注意下就行了 回复 5# netegg
谢谢 已解决了!!
页:
[1]