Clear ListIconGadget and lose icon column
Posted: Sun Mar 08, 2020 6:11 am
Is there a way to clear a ListIconGadget to remove the icon column on its far-left, without the overhead of freeing and recreating it from scratch? See in the example below, after clearing it, there is still a gap for the icons (in red). I want to lose that gap without creating a new ListIconGadget, because the ListIconGadget specs are read from a file and/or remote network location, which can be slow. Thanks.


Code: Select all
Global icon = LoadImage(0, #PB_Compiler_Home + "Examples\Sources\Data\CdPlayer.ico")
Procedure PopulateListIcon()
ClearGadgetItems(0)
AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay", icon)
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity", icon)
EndProcedure
OpenWindow(0, 100, 100, 300, 140, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 290, 90, "Name", 150, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
AddGadgetColumn(0, 1, "Address", 250)
PopulateListIcon()
ButtonGadget(1, 5, 100, 290, 30, "Click to refresh ListIconGadget without icons")
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 1
icon = 0 ; We want no icons this time.
PopulateListIcon()
EndIf
Until Event = #PB_Event_CloseWindow