ListIconGadget-Größe ändern
Verfasst: 22.01.2011 19:38
Hi,
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:
Er erstellt drei Einträge mit verschiedenen Grafiken.
Schön und gut, aber wenn ich testweise folgende Zeile entfernen möchte:
Dann erstellt er zwar weiterhin drei Einträge, aber nur die ersten zwei haben eine Grafik und der letzte Eintrag hat komischerweise keine Grafik mehr.
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?
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?