siuchingchow 发表于 2009-10-25 02:37:54

无法在treeview中获取所选的项值


比如现在要获取上图的“甄子丹”的值,如果不先用左键选中的话,用右键菜单获取的是原来选定的值,问怎样才能不先选中,直接用右键定位就可以获取,望好心帮下忙!代码如下:
#include <GUIConstantsEx.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiTreeView.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 154, 162, 192, 124)
$TreeView1 = GUICtrlCreateTreeView(8, 8, 89, 137)
$TreeView1_0 = GUICtrlCreateTreeViewItem("武打明星", $TreeView1)
$TreeView1_1 = GUICtrlCreateTreeViewItem("成龙", $TreeView1_0)
$TreeView1_2 = GUICtrlCreateTreeViewItem("甄子丹", $TreeView1_0)
$tx_menu = GUICtrlCreateContextMenu($TreeView1 );在指定控件或GUI窗口上创建右键菜单。GUICtrlCreateContextMenu ( [控件ID] )       
$tx_1=GUICtrlCreateMenuItem("读取成龙", $tx_menu)
$tx_2=GUICtrlCreateMenuItem("读取甄子丹", $tx_menu)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $tx_1
                        MsgBox(0,"re",_GUICtrlTreeView_GetText($TreeView1, GUICtrlRead($TreeView1)))
                case $tx_2
                        MsgBox(0,"re",_GUICtrlTreeView_GetText($TreeView1, GUICtrlRead($TreeView1)))
        EndSwitch
WEnd

jycel 发表于 2009-10-25 09:02:51

本帖最后由 jycel 于 2009-10-25 09:05 编辑

直接获取就直接读取你要读取的名称从配置中读取啊
不管是成龙还是甄子丹任何一个名称,你肯定是保存在配置中的!
例如:
[武打明星]
甄子丹=
成龙=
你在右右键弹出来的菜单中要读取那一个就直接先获取这个值也就是你选择的那一个
然后从INI中读取即可

siuchingchow 发表于 2009-10-25 12:47:19

2# jycel

问题的是我没有用INI文件,连treeview项都全部用数据库读出哦!靠读INI文件有点不现实哦
页: [1]
查看完整版本: 无法在treeview中获取所选的项值