Code: Alles auswählen
Enumeration
#ListIcon
#ChangeButton
EndEnumeration
Procedure ChangeIcon(IconID.L, Row.L, IconIndex.L)
LVITEM.LV_ITEM
LVITEM\Mask = #LVIF_IMAGE
LVITEM\iItem = Row
LVITEM\iImage = IconIndex
SendMessage_(GadgetID(IconID), #LVM_SETITEM, 0, @LVITEM)
EndProcedure
If OpenWindow(1, 0, 0, 270, 110, "Änderung von Icons im ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(1))
ListIconGadget(#ListIcon, 10, 10, 250, 57, "Icon", 40, #PB_ListIcon_GridLines)
ButtonGadget(#ChangeButton, 85, 80, 110, 20, "1.Icon austauschen")
Icon1 = LoadImage(1, #PB_Compiler_Home + "Examples\Sources\Data\CdPlayer.ico")
Icon2 = LoadImage(2, #PB_Compiler_Home + "Examples\Sources\Data\Drive.bmp")
AddGadgetColumn(#ListIcon, 1, "Text", 206)
AddGadgetItem(#ListIcon, -1, "" + #LF$ + "Icon 1", Icon1)
AddGadgetItem(#ListIcon, -1, "" + #LF$ + "Icon 2", Icon2)
CurrentIcon = 1
Repeat
WindowEvent = WaitWindowEvent()
If WindowEvent = #PB_Event_Gadget
If EventGadget() = #ChangeButton
CurrentIcon = CurrentIcon ! 3
ChangeIcon(#ListIcon, 0, CurrentIcon)
EndIf
EndIf
Until WindowEvent = #PB_Event_CloseWindow
EndIf