lfx99 发表于 2012-2-2 14:39:01

多谢版主帮助,慢慢消化去。呵呵

pusofalse 发表于 2012-2-3 11:26:32

#include <GUITreeView.au3>

$hGUI = GUICreate("Test", 400, 300)

$hTreeView = _GUICtrlTreeView_Create($hGUI, 5, 5, 390, 290, BitOR($TVS_HASLINES, $TVS_SHOWSELALWAYS, $TVS_HASBUTTONS, $TVS_LINESATROOT), 512)

$iTimer = TimerInit()
_AddTreeViewItem($hTreeView, @ScriptDir & "\Dirs.txt")

MsgBox(0, TimerDiff($iTimer), "")

_GUICtrlTreeView_Expand($hTreeView)

GUISetState()
While GUIGetMsg() + 3
WEnd

Func _AddTreeViewItem($hTreeView, $sFilePath)
        Local $hFile, $iLine, $sText, $aText, $sCurrent, $sParent

        $hFile = FileOpen($sFilePath)
        If $hFile < 1 Then Return SetError(1, 0, 0)

        While 1
                $iLine += 1
                $sText= FileReadLine($hFile, $iLine)

                If @error Then ExitLoop

                $sCurrent = ""
                $sParent = ""
                $aText = StringSplit($sText, "\")

                For $i = 1 To $aText
                        $sCurrent &= $aText[$i] & "\"

                        If Not IsDeclared($sCurrent) Then
                                Assign($sCurrent, _GUICtrlTreeView_AddChild($hTreeView, Eval($sParent), $aText[$i]))
                        EndIf

                        $sParent = $sCurrent
                Next
        WEnd
        FileClose($hFile)

        Return $iLine > 0
EndFunc        ;==>_AddTreeViewItem

lfx99 发表于 2012-2-3 16:35:48

真是惭愧,对Afan版主的正则还在慢慢琢磨中,P版的几个‘变量与变量转换’就轻松搞定。另外:为何在最后line46 :Return $iLine > 0 ,不甚理解。

nmgwddj 发表于 2012-2-7 00:55:31

P版代码的思路太诡异了。
页: 1 [2]
查看完整版本: [已解决]:GUICtrlCreateTreeView 如何根据 TXT文件,创建类似资源管理器的GUI。