#NoEnv #SingleInstance force gosub CreateGui gosub FillTV TVX("MyTree", "Handler", "HasRoot CollapseOnMove ", "aTooltip") ;!!!!! Gui, Show, h410 w430 return Handler: if A_GuiEvent = S Tooltip % aTooltip%A_EventInfo%, 0, 0 return ;------------------------------------------------------------------------------- Save: TVX_Walk(root, "SaveHandler", Event, Item) return SaveHandler: TV_GetText(txt, Item) if Event = + { FileDelete, _out.txt FileAppend %txt%`n, _out.txt line := "|-" } if Event = E StringTrimRight, line, line, 2 if Event in I,M { FileAppend %line%%txt%, _out.txt FileAppend % " " aTooltip%item% "`n", _out.txt } if Event = M line .= "--" if Event = - Msgbox, TVX saved in _out.txt return ;--------------------------------------------------------------------------------- OnButton: ControlSend, SysTreeView321, {SHIFT down} ControlSend, SysTreeView321, {%A_GuiControl%} sleep 50 ControlSend, SysTreeView321, {SHIFT up} ; h := TVX_Move(TV_GetSelection(), A_GuiControl="Up" ? "u" : "d") ; TV_Modify(h, "Select") return Modify: if A_GuiControl=Delete ControlSend, SysTreeView321, {DELETE} if A_GuiControl=Insert ControlSend, SysTreeView321, {INSERT} if A_GuiControl=Insert Submenu { ControlSend, SysTreeView321, {SHIFT down} ControlSend, SysTreeView321, {INSERT} Sleep 50 ControlSend, SysTreeView321, {SHIFT up} } return ;--------------------------------------------------------------------------------- FillTV: root := TV_Add("Root", "" , "Expand") TV_Modify( root, "", A_Index " " root) loop, 10 { P := TV_Add("", root) TV_Modify( P, "", A_Index " " P) aTooltip%P% := "My Tooltip " A_Index } P2 := TV_Add("", P), aTooltip%P2% := "My Tooltip 2.1" TV_Modify( P2, "", "2.1 " P2) P2 := TV_Add("", P), aTooltip%P2% := "My Tooltip 2.2" TV_Modify( P2, "", "2.2 " P2) P3 := TV_Add("", P2), aTooltip%P3% := "My Tooltip 2.2.1" TV_Modify( P3, "", "2.2.1 " P3) P3 := TV_Add("", P2), aTooltip%P3% := "My Tooltip 2.2.2" TV_Modify( P3, "", "2.2.2 " P3) P3 := TV_Add("", P2), aTooltip%P3% := "My Tooltip 2.2.3" TV_Modify( P3, "", "2.2.3 " P3) return ;--------------------------------------------------------------------------------- CreateGui: Gui, Add, TreeView, h400 w300 vMyTree Gui, Add, Button, w100 gOnButton x+10 , Up Gui, Add, Button, wp gOnButton,Down Gui, Add, Button, y+20 wp gModify, Insert Gui, Add, Button, wp gModify, Insert Submenu Gui, Add, Button, y+20 wp gModify, Delete Gui, Add, Edit, y+50 wp vMyEdit gEdit, Gui, Add, Text, yp-30 wp, Change tooltip for selection Gui, Add, Button, y+150 w100 gSave, Save to file return ;--------------------------------------------------------------------------------- Edit: Gui, Submit, Nohide c := TV_GetSelection() aTooltip%c% := MyEdit return GuiClose: GuiEscape: ExitApp return ; #include TVX.ahk