Und damit es auch unter Linux läuft:
Code: Alles auswählen
EnableExplicit
Define newX, newY, newW, newH
Define SampleImage, Counter, WWE
Define SelectedRowIndex
Structure sRow
ImageGadget.i
TextGadget1.i
TextGadget2.i
EndStructure
Global NewList Row.sRow()
#Window = 0
#ScrollAreaGadget = 0
OpenWindow(#Window, #PB_Ignore, #PB_Ignore, 200, 600, "")
ScrollAreaGadget(#ScrollAreaGadget, 0, 0, WindowWidth(#Window), WindowHeight(#Window), WindowWidth(#Window) - 32, WindowHeight(#Window))
newH = 20
SampleImage = LoadImage(#PB_Any, #PB_Compiler_Home + "examples/sources/Data/Drive.bmp")
For Counter = 0 To 50
AddElement(Row())
Row()\ImageGadget = ImageGadget(#PB_Any, 0, newY, 30, newH, ImageID(SampleImage), #PB_Image_Border)
Row()\TextGadget1 = TextGadget (#PB_Any, 30, newY, 100, newH, " Dies ist Zeile " + Str(Counter), #PB_Text_Center)
Row()\TextGadget2 = TextGadget (#PB_Any, 131, newY, 50, newH, " holla", #PB_Text_Center)
newY + newH + 1
If ListIndex(Row()) % 2 = 0
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_BackColor, $FFFFFF)
Else
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_BackColor, $7F7F7F)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_BackColor, $7F7F7F)
EndIf
Next
CloseGadgetList()
SetGadgetAttribute(#ScrollAreaGadget, #PB_ScrollArea_InnerHeight, newY)
Repeat
WWE = WaitWindowEvent()
Select WWE
Case #PB_Event_Gadget
ForEach Row()
If EventGadget()=Row()\TextGadget1 Or EventGadget()=Row()\TextGadget2
SelectedRowIndex = ListIndex(Row())
ForEach Row()
If ListIndex(Row()) % 2 <> 0
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_BackColor, $7F7F7F)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_BackColor, $7F7F7F)
Else
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_BackColor, $FFFFFF)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_BackColor, $FFFFFF)
EndIf
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_FrontColor, 0)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_FrontColor, 0)
Next
SelectElement(Row(), SelectedRowIndex)
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_BackColor, $0000FF)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_BackColor, $0000FF)
SetGadgetColor(Row()\TextGadget1, #PB_Gadget_FrontColor, $FFFFFF)
SetGadgetColor(Row()\TextGadget2, #PB_Gadget_FrontColor, $FFFFFF)
Break
EndIf
Next
EndSelect
Until WWE = #PB_Event_CloseWindow
@Kiffi:
Ich weiß nicht, was
#SS_CENTERIMAGE | #SS_NOTIFY beim TextGadget bewirkt, aber ist es nicht einfach das selbe wie
#PB_Text_Center?
Farben wie #White, #Grey, #Blue und #Black gibt es auch nicht in der Linux-Version. Deswegen hab ich mal einfach Hexwerte dafür rein geschrieben.
Das Verzeichnis für das Beispielbild musste ich zudem noch an Groß-/Kleinschreibung anpassen und statt \ eben / verwenden.