ich hab ein Beispielcode aus diesem Thread ( http://www.purebasic.fr/english/viewtop ... 91#p211191 ) entnommen, womit man die Größe der Items im ListIconGadget ändern kann.
Das Ändern der Größe funktioniert eigentlich, aber eine Sache versteh' ich nicht so ganz.
Ich hab irgendein Problem festgestellt und kann das nicht nachvollziehen.
Ich habe diesen Code:
Code: Alles auswählen
CreateImage(0, 100, 100)
StartDrawing(ImageOutput(0))
Box(0, 0, 100, 100, RGB(0, 0, 0))
StopDrawing()
CreateImage(1, 100, 100)
StartDrawing(ImageOutput(1))
Box(0, 0, 100, 100, RGB(0, 255, 0))
StopDrawing()
CreateImage(2, 100, 100)
StartDrawing(ImageOutput(2))
Box(0, 0, 100, 100, RGB(0, 0, 255))
StopDrawing()
CreateImage(3, 100, 100)
StartDrawing(ImageOutput(3))
Box(0, 0, 100, 100, RGB(255, 0, 0))
StopDrawing()
newIL = ImageList_Create_(100, 100, #ILC_COLOR32|#ILC_MASK, 0, 20)
ImageList_Add_(newIL, ImageID(0), 0)
ImageList_Add_(newIL, ImageID(1), 0)
ImageList_Add_(newIL, ImageID(2), 0)
ImageList_Add_(newIL, ImageID(3), 0)
If OpenWindow(0, 0, 0, 700, 500, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 10, 10, 680, 480, "", 200)
SetGadgetAttribute(0,#PB_ListIcon_DisplayMode,#PB_ListIcon_LargeIcon)
AddGadgetItem(0 , -1, item$, ImageID(1))
AddGadgetItem(0 , -1, item$, ImageID(2))
AddGadgetItem(0 , -1, item$, ImageID(3))
oldIL = SendMessage_(GadgetID(0), #LVM_GETIMAGELIST, #LVSIL_NORMAL, 0)
SendMessage_(GadgetID(0), #LVM_SETIMAGELIST, #LVSIL_NORMAL, newIL)
ImageList_Destroy_(oldIL)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Schön und gut, aber wenn ich testweise folgende Zeile entfernen möchte:
Code: Alles auswählen
ImageList_Add_(newIL, ImageID(0), 0)
Warum?
Unten benötige ich doch nur die Grafiken mit der Nummer 1, 2 und 3, aber keine 0.
Muss die erste Grafik die Nummer "0" haben oder wie soll ich das verstehen?