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.