Code: Select all
#WindowWidth = 390
#WindowHeight = 350
Procedure Callback(Window.l, Message.l, wParam.l, lParam.l)
result = #PB_ProcessPureBasicEvents
If Message = #WM_Notify
*lp.NMHDR = lParam
Select *lp\code
Case #TVN_BEGINLABELEDIT
Case #TVN_ENDLABELEDIT
*pvdi.NMTVDISPINFO = lParam
If *pvdi\item\psztext <> #Null
Text.s = PeekS(*pvdi\item\psztext)
If Text = ""
result = #False
Else
result = #True
EndIf
EndIf
EndSelect
EndIf
ProcedureReturn result
EndProcedure
If OpenWindow(0, 100, 200, #WindowWidth, #WindowHeight, #PB_Window_MinimizeGadget, "Edit Treeview")
If CreateGadgetList(WindowID())
TreeGadget(0,20,20,100,300)
AddGadgetItem(0,-1,"Tree")
SetWindowLong_(GadgetID(0),#GWL_STYLE,GetWindowLong_(GadgetID(0),#GWL_STYLE) | #TVS_EDITLABELS)
ButtonGadget(1,200,100,50,20,"Edit Tree")
EndIf
SetWindowCallback(@Callback())
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_EventGadget
Select EventGadgetID()
Case 0
Case 1
currentitem=GadgetItemID(0, 0)
SendMessage_(GadgetID(0),#TVM_EDITLABEL,0,currentitem)
EndSelect
EndIf
Until EventID = #PB_EventCloseWindow
EndIf
End


