' Simple treeview example by Mark Gamber using NS Basic ' Don't forget to copy the images to the root directory ' before running this program! addobject "MGCETreeView.TreeView", "Tree", 4, 4, 200, 100 addobject "Listbox", "Stat", 4, 106, 200, 80 Stat.Sorted = FALSE Stat.Scrollbars = 2 ListItemCount = 0 Tree.AddImage "\smimg1.bmp" Tree.AddImage "\smimg2.bmp" Tree.AddContextItem "Item 1" Tree.AddContextItem "Item 2" Tree.AddContextItem "-" Tree.AddContextItem "Item 3" Tree.UseImages = TRUE Tree.UseSelectedImages = TRUE Tree.AllowEdit = TRUE Tree.AllowEventAsDefault = TRUE topItem = Tree.AddItem( 0, 0, "Test", 0, 1, 2 ) subItem = Tree.AddItem( topItem, 0, "Second One", 1 ) subItem = Tree.AddItem( topItem, subItem, "Third One", 2 ) subItem = Tree.AddItem( topItem, subItem, "Fourth One", 3 ) subItem = Tree.AddItem( topItem, subItem, "Fifth One", 4 ) topItem = Tree.AddItem( 0, topItem, "Test 2", 0, 1, 2 ) subItem = Tree.AddItem( topItem, 0, "Second One", 1 ) subItem = Tree.AddItem( topItem, subItem, "Third One", 2 ) subItem = Tree.AddItem( topItem, subItem, "Fourth One", 3 ) subItem = Tree.AddItem( topItem, subItem, "Fifth One", 4 ) sub Tree_Expanding( item ) if Tree.ItemText( item ) = "Test 2" then Tree.AllowEvent = FALSE Stat.AddItem Tree.ItemText( item ) & " cannot expand" else Stat.AddItem Tree.ItemText( item ) & " wants to expand" end if Stat.ListIndex = ListItemCount ListItemCount = ListItemCount + 1 end sub sub Tree_Expanded( item ) s = Tree.ItemText( item ) Stat.AddItem s & " expanded" Stat.ListIndex = ListItemCount ListItemCount = ListItemCount + 1 end sub sub Tree_Collapsed( item ) s = Tree.ItemText( item ) Stat.AddItem s & " collapsed" Stat.ListIndex = ListItemCount ListItemCount = ListItemCount + 1 end sub sub Tree_Changed( oldItem, newItem ) if oldItem > 0 then s = Tree.ItemText( oldItem ) else s = "Nothing" end if t = Tree.ItemText( newItem ) Stat.AddItem "Moved from " & s & " to " & t Stat.ListIndex = ListItemCount ListItemCount = ListItemCount + 1 end sub sub Tree_Keypress( key ) ' Stat.AddItem "Key " & Chr( key ) & " pressed" ' Stat.ListIndex = ListItemCount ' ListItemCount = ListItemCount + 1 end sub sub Tree_StartEdit( item ) if Tree.ItemText( item ) = "Test 2" then Tree.AllowEvent = FALSE Stat.AddItem Tree.ItemText( item ) & " cannot change" else Stat.AddItem Tree.ItemText( item ) & " to be changed" end if Stat.ListIndex = ListItemCount ListItemCount = ListItemCount + 1 end sub sub Tree_EndEdit( item, newText ) Stat.AddItem Tree.ItemText( item ) & " now " & newText Stat.ListIndex = ListItemCount ListItemCount = ListItemCount + 1 end sub sub Tree_ContextMenu( item, text ) if item <> 0 then MsgBox text, vbOKOnly, Tree.ItemText( item ) else MsgBox text, vbOKOnly, "No item" end if end sub