如何获取 TreeView 选中的项目文本【已解决】
本帖最后由 dhh45 于 2010-9-21 22:10 编辑如何获取 TreeView 选中的项目文本 希望获得 New Item和 New Child 本帖最后由 水木子 于 2010-9-21 15:41 编辑
#include <GuiTreeView.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $sTest
Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_CHECKBOXES)
$hGUI = GUICreate("Treeview", 400, 300)
$Treeview = GUICtrlCreateTreeView(2, 2, 180, 294, $iStyle, $WS_EX_CLIENTEDGE)
$Fonts1 = GUICtrlCreateTreeViewItem("项目1", $Treeview)
GUICtrlCreateTreeViewItem("项目1-1", $Fonts1)
GUICtrlCreateTreeViewItem("项目1-2", $Fonts1)
GUICtrlCreateTreeViewItem("项目1-3", $Fonts1)
GUICtrlSetState($Fonts1, $GUI_EXPAND)
$Fonts2 = GUICtrlCreateTreeViewItem("项目2", $Treeview)
GUICtrlCreateTreeViewItem("项目2-1", $Fonts2)
GUICtrlCreateTreeViewItem("项目2-2", $Fonts2)
GUICtrlCreateTreeViewItem("项目2-3", $Fonts2)
GUICtrlSetState($Fonts2, $GUI_EXPAND)
$Button1 = GUICtrlCreateButton("获取", 264, 96, 75, 25, $WS_GROUP)
GUISetState()
While 1
Switch GUIGetMsg()
Case - 3
Exit
Case $Button1
$sTest = ''
For $i = 4 To 11
If BitAND(GUICtrlRead($i), $GUI_CHECKED) Then $sTest &= _GUICtrlTreeView_GetText($Treeview, $i) & @CRLF
Next
MsgBox(0, '被选项目文本', $sTest)
EndSwitch
WEnd 是不是还要搞个循环啊? 回复 4# dhh45
代码放在2楼了,你看看吧! 本帖最后由 afan 于 2010-9-21 17:36 编辑
标题“图片中的值”不恰当吧,如果搜索“图片”,LZ这个就是毫无意义的贴了。
改为“如何获取 TreeView 选中的项目文本”如何?
规范发帖,任重而道远。
昨天才发的帖子 http://www.autoitx.com/thread-18544-1-1.html
太累,懒得管了,随你们便了。 回复 3# 水木子
哇!水版一发就是精品!顶你!
水木子 发表于 2010-9-21 15:15 http://www.autoitx.com/images/common/back.gif
bitor是加多个样式那bitand呢 回复 6# afan
不好意思了啊,下次一定注意,呵呵 回复 3# 水木子
谢谢了,太谢谢了。
但是
(1)如果在一级目录选中的情况下,又选中一级目录下的子目录,这时只显示子目录
(2)如果在一级目录选中的情况下,没有选中一级目录下的子目录,这时显示全部子目录
以上的想法,会根据你的代码学习考虑的,有结果会更新的 可以使用数组来储存这些父项目与子项目的索引,这样一来处理起来就方便多了。 学习了!谢谢!!
页:
[1]