Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

heelp ;.( treeview

$
0
0

I do not know how to describe the problem, but when I click on a "TreeViewItem "Why the "TreeViewItem "disappear

loook

AutoIt         
Opt("GUIOnEventMode", 1) Local $arr[6] = [5, "HKEY_CLASSES_ROOT", "HKEY_CURRENT_USER", "HKEY_LOCAL_MACHINE", "HKEY_USERS", "HKEY_CURRENT_CONFIG"] Global $LISTREG, $TreeREG[7][2], $lastreg[1], $treeview, $ListView1 $lastreg[0] = 1 $TreeREG[0][0] = 6 GUICreate("My GUI with treeview", 684, 502, 361, 318) GUISetOnEvent(-3, "__Exit") $treeview = GUICtrlCreateTreeView(6, 6, 174, 414) For $io = 1 To $arr[0]     $TreeREG[$io][1] = $arr[$io]     $TreeREG[$io][0] = GUICtrlCreateTreeViewItem($arr[$io], $treeview)     GUICtrlSetOnEvent(-1, "Goreg") Next $ListView1 = GUICtrlCreateListView("name|type|value", 192, 8, 482, 422) GUISetState() While 1     Sleep(999) WEnd Func __Exit()     Exit EndFunc   ;==>__Exit Func Goreg()     Local $idcrlr = GUICtrlRead($treeview)     Setvar(Gettreetxt($idcrlr), $idcrlr)     GUICtrlSetState($idcrlr, 1024) EndFunc   ;==>Goreg Func Setvar($sreg, $crl)     If Gettrectr($sreg) = 1 Then Return     ReDim $lastreg[$lastreg[0] + 1]     $lastreg[$lastreg[0]] = $sreg     $lastreg[0] = $lastreg[0] + 1     Local $m, $mm, $pl = 1, $pppp = 0     $m = StringSplit(GetnumKey($sreg), "\|/", 1)     If IsArray($LISTREG) Then DELETEREGITEMS()     If $m[1] <> "" Then         $mm = StringSplit($m[1], "\@/", 1)         Dim $LISTREG[$mm[0] + 1]         $LISTREG[0] = $mm[0]         For $iu = 1 To $mm[0] - 1             $LISTREG[$iu] = GUICtrlCreateListViewItem($mm[$iu], $ListView1) ;         Next     EndIf     If $m[2] <> "" Then         $mm = StringSplit($m[2], "/|\", 1)         If IsArray($TreeREG) Then             $pl = $TreeREG[0][0]             ReDim $TreeREG[$mm[0] + $pl][2]         Else             Dim $TreeREG[$mm[0] + 1][2]         EndIf         $TreeREG[0][0] = $mm[0] + $pl - 1         For $iu = $pl To $TreeREG[0][0] - 1             $pppp += 1             $TreeREG[$iu][0] = GUICtrlCreateTreeViewItem($mm[$pppp], $crl)             GUICtrlSetOnEvent(-1, "Goreg")             $TreeREG[$iu][1] = $sreg & "\" & $mm[$pppp]         Next     EndIf EndFunc   ;==>Setvar Func DELETEREGITEMS()     For $i = $LISTREG[0] To 0 Step -1         GUICtrlDelete($LISTREG[$i])     Next     $LISTREG = "" EndFunc   ;==>DELETEREGITEMS Func Gettreetxt($crlls)     For $i = 1 To $TreeREG[0][0] - 1         If $TreeREG[$i][0] = $crlls Then Return $TreeREG[$i][1]     Next EndFunc   ;==>Gettreetxt Func Gettrectr($ttxt)     For $i = 1 To $lastreg[0] - 1         If $lastreg[$i] = $ttxt Then Return 1     Next     Return 0 EndFunc   ;==>Gettrectr Func GetnumKey($skey)     Local $i = 0, $rreg     $rreg = GetnumVal($skey) & "\|/"     While True         $i += 1         Local $var = RegEnumKey($skey, $i)         If @error <> 0 Then ExitLoop         $rreg &= $var & "/|\"     WEnd     Return $rreg EndFunc   ;==>GetnumKey Func GetnumVal($skey)     Local $z = 0, $zz, $typ = "string"     While True         $z += 1         Local $var = RegEnumVal($skey, $z)         If @error <> 0 Then ExitLoop         $readreg = RegRead($skey, $var)         If IsBinary($readreg) Then $typ = "binary"         $zz &= $var & "|" & $typ & "|" & $readreg & "\@/"     WEnd     Return $zz EndFunc   ;==>GetnumVal

Viewing all articles
Browse latest Browse all 12506

Trending Articles