You can use EventType() to get all normal pure basic event types on the canvas gadget and the special events for the tab bar gadget. Also you can get the position of the tab with this event type with
GetTabBarGadgetItemPosition(Gadget, #TabBarGadgetItem_Event)
or the ID of the tab withTabBarGadgetItemID(Gadget, #TabBarGadgetItem_Event)
.
XIncludeFile "TabBarGadget.pbi" Enumeration #Window #Gadget EndEnumeration Procedure GadgetCallback() Protected Position.i Static Number.i = 3 Select EventType() Case #TabBarGadget_EventType_NewItem Position = AddTabBarGadgetItem(EventGadget(), #PB_Default, "New tab "+Str(Number)) : Number + 1 SetTabBarGadgetState(EventGadget(), Position) Debug "new item at position "+Str(Position) Case #TabBarGadget_EventType_CloseItem Debug "item closed at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event)) RemoveTabBarGadgetItem(EventGadget(), #TabBarGadgetItem_Event) Case #TabBarGadget_EventType_Change Debug "selected item changed, now at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event)) Case #TabBarGadget_EventType_CheckBox Debug "check status changed at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event)) Case #TabBarGadget_EventType_SwapItem Debug "item swaped, now at position "+Str(GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event)) Case #PB_EventType_RightClick Select GetTabBarGadgetItemPosition(EventGadget(), #TabBarGadgetItem_Event) Case #TabBarGadgetItem_NewTab Debug "right click on new tab" Case #TabBarGadgetItem_None Debug "right click on space" Default Debug "right click on tab '"+GetTabBarGadgetItemText(EventGadget(), #TabBarGadgetItem_Event)+"'" EndSelect EndSelect EndProcedure OpenWindow(#Window, 0, 0, 500, 200, "TabBarGadget", #PB_Window_ScreenCentered|#PB_Window_SystemMenu) TabBarGadget(#Gadget, 10, 10, WindowWidth(#Window)-20, #TabBarGadget_DefaultHeight, #TabBarGadget_CloseButton|#TabBarGadget_CheckBox|#TabBarGadget_NewTab|#TabBarGadget_BottomLine, #Window) AddTabBarGadgetItem(#Gadget, #PB_Default, "Any tab 1") AddTabBarGadgetItem(#Gadget, #PB_Default, "Any tab 2") AddTabBarGadgetItem(#Gadget, #PB_Default, "Any tab 3") SetTabBarGadgetState(#Gadget, 0) BindGadgetEvent(#Gadget, @GadgetCallback()) Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End EndSelect ForEver