;***************************************** ;Test.au3 by garguza ;Created with ISN AutoIt Studio v. 1.11 ;***************************************** #include #include #include #include #include #include #include #include #include Global $testing = 0 GUICreate("My GUI with treeview", 350, 215) Local $idTreeview = GUICtrlCreateTreeView(6, 6, 100, 150, BitOR($TVS_HASLINES, $TVS_HASBUTTONS, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE) Local $idGeneralitem = GUICtrlCreateTreeViewItem("General", $idTreeview) GUICtrlSetColor(-1, 0x0000C0) Local $idDisplayitem = GUICtrlCreateTreeViewItem("Display", $idTreeview) GUICtrlSetColor(-1, 0x0000C0) Local $idAboutitem = GUICtrlCreateTreeViewItem("About", $idGeneralitem) Local $idCompitem = GUICtrlCreateTreeViewItem("Computer", $idGeneralitem) GUICtrlCreateTreeViewItem("User", $idGeneralitem) GUICtrlCreateTreeViewItem("Resolution", $idDisplayitem) GUICtrlCreateTreeViewItem("Other", $idDisplayitem) Local $idStartlabel = GUICtrlCreateLabel("Image Snipper", 190, 90, 100, 20) Local $idAboutlabel = GUICtrlCreateLabel("This little scripts demonstates the using of a treeview-control.", 190, 70, 100, 60) GUICtrlSetState(-1, $GUI_HIDE) ; Hides the "aboutlabel"-text during initialization Local $idCompinfo = GUICtrlCreateLabel("Name:" & @TAB & @ComputerName & @CRLF & "OS:" & @TAB & @OSVersion & @CRLF & "SP:" & @TAB & @OSServicePack, 120, 30, 200, 80) GUICtrlSetState(-1, $GUI_HIDE) ; Hides the "compinfo"-text during initialization ; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adapted text Starts Heare <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< #cs The part of the adapted text is from the file i included. And the art thing is, in that file it works. It shows the total ini in the gui. #ce Dim $e, $i, $var, $file, $TreeView, $idTreeView1, $var2, $idTreeView2 Dim $idTreeView3, $test1, $varx Dim $var, $file, $x $file = @ScriptDir & "\imige_file_data2.ini" Local $idImageitem = GUICtrlCreateTreeViewItem("Image", $idTreeview) ; The holder fore the ini file in the tree $idTreeview is linkt with line 19 GUICtrlSetColor(-1, 0x0000C0) ;_IniReadInfo() _IniGetSectionNames() GUISetState() Func _IniGetSectionNames() $varx = IniReadSectionNames($file) If @error Then MsgBox(4096, "", "Error occured, probably no INI file.") Else For $x = 1 To $varx[0] ;MsgBox(4096, "", $varx[$x]) _IniReadInfo($varx[$x]) Next EndIf EndFunc ;==>_IniGetSectionNames Func _IniReadInfo($sSection) Dim $sValue $var = IniReadSection($file, $sSection) If @error Then MsgBox(4096, "", "Error occured, probably no INI file.") Else $idTreeView2 = GUICtrlCreateTreeViewItem($sSection, $idImageitem) ; This $idImageitem is linkt to line 51 For $i = 1 To $var[0][0] $TreeView3 = GUICtrlCreateTreeViewItem($var[$i][0], $idTreeView2) $sValue = StringSplit($var[$i][1], '|') For $x = 1 To $sValue[0] If $sValue[$x] <> '' Then $idTreeView4 = GUICtrlCreateTreeViewItem($sValue[$x], $idTreeView3) Next Next EndIf EndFunc ;==>_IniReadInfo ; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Adapted text Stops Heare <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< GUICtrlCreateLabel("", 0, 170, 350, 2, $SS_SUNKEN) Local $idTogglebutton = GUICtrlCreateButton("&Toggle", 35, 185, 70, 20) Local $idInfobutton = GUICtrlCreateButton("&Info", 105, 185, 70, 20) Local $idStatebutton = GUICtrlCreateButton("Col./Exp.", 175, 185, 70, 20) Local $idCancelbutton = GUICtrlCreateButton("&Cancel", 245, 185, 70, 20) GUICtrlSetState($idGeneralitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expand the "General"-item and paint in bold GUICtrlSetState($idDisplayitem, BitOR($GUI_EXPAND, $GUI_DEFBUTTON)) ; Expand the "Display"-item and paint in bold GUISetState(@SW_SHOW) Local $idMsg, $idItem, $hItem, $sText ; Loop until the user exits. While 1 $msg = GUIGetMsg() $idMsg = GUIGetMsg() Select Case $idMsg = $idCancelbutton Or $idMsg = $GUI_EVENT_CLOSE ExitLoop Case $idMsg = $idTogglebutton ; Toggle the bold painting If BitAND(GUICtrlRead($idGeneralitem), $GUI_DEFBUTTON) Then GUICtrlSetState($idGeneralitem, 0) GUICtrlSetState($idDisplayitem, 0) GUICtrlSetState($idImageitem, 0) Else GUICtrlSetState($idGeneralitem, $GUI_DEFBUTTON) GUICtrlSetState($idDisplayitem, $GUI_DEFBUTTON) GUICtrlSetState($idImageitem, $GUI_DEFBUTTON) EndIf Case $idMsg = $idInfobutton $idItem = GUICtrlRead($idTreeview) ; Get the controlID of the current selected treeview item If $idItem = 0 Then MsgBox($MB_SYSTEMMODAL, "TreeView Demo", "No item currently selected") Else $sText = GUICtrlRead($idItem, 1) ; Get the text of the treeview item If $sText == "" Then MsgBox($MB_SYSTEMMODAL, "Error", "Error while retrieving infos about item") Else MsgBox($MB_SYSTEMMODAL, "TreeView Demo", "Current item selected is: " & $sText) EndIf EndIf Case $idMsg = $idStatebutton $idItem = GUICtrlRead($idTreeview) If $idItem > 0 Then $hItem = GUICtrlGetHandle($idItem) GUICtrlSendMsg($idTreeview, $TVM_EXPAND, $TVE_TOGGLE, $hItem) EndIf ; The following items will hide the other labels (1st and 2nd parameter) and then show the 'own' labels (3rd and 4th parameter) Case $idMsg = $idGeneralitem GUIChangeItems($idAboutlabel, $idCompinfo, $idStartlabel, $idStartlabel) Case $idMsg = $idAboutitem GUICtrlSetState($idCompinfo, $GUI_HIDE) GUIChangeItems($idStartlabel, $idStartlabel, $idAboutlabel, $idAboutlabel) Case $idMsg = $idCompitem GUIChangeItems($idStartlabel, $idAboutlabel, $idCompinfo, $idCompinfo) EndSelect WEnd GUIDelete() Func GUIChangeItems($idHidestart, $idHideend, $idShowstart, $idShowend) Local $idX For $idX = $idHidestart To $idHideend GUICtrlSetState($idX, $GUI_HIDE) Next For $idX = $idShowstart To $idShowend GUICtrlSetState($idX, $GUI_SHOW) Next EndFunc ;==>GUIChangeItems