Ich habe ein kleines Problem mit dem ListviewGadget bzw. mit dem Auslesen der Werte der Items darin.
Je nach dem, was der Anwender aus der Liste auswählt, sollen einige Angaben dazu gemacht werden.
Das Problem dabei ist: es wird immer nur der Wert des letzten SetGadgetItemData gelesen, auch wenn andere Items ausgewählt werden.
Außerdem würde ich gern wissen, wie ich dafür sorgen kann, dass das Ganze nicht nach einmaliger Anwendung "einfriert" sondern die Auswahl mehrmals getroffen werden kann und der Text entsprechend des neugewählten Items aktualisiert wird.
Hier mein Code: (PS. Ich bin blutiger Anfänger also bitte nicht ganz so dolle schimpfen^^)
Code: Alles auswählen
If OpenWindow(0,100,150,350,400,"Wilkommen",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
Font1 = LoadFont(1,"Arial",16)
Font2 = LoadFont(2,"Arial",12)
If CreateGadgetList(WindowID(0))
ButtonGadget(1,140,300,80,20,"Weiter")
ButtonGadget(2,140,340,80,20,"Beenden")
TextGadget(3,200,60,60,20,"Kosten :")
TextGadget(4,300,60,40,20,"Punkte")
TextGadget(5,200,90,100,20,"Deine Wahl :")
StringGadget(6,270,60,30,20,"",#PB_String_ReadOnly|#PB_String_BorderLess) ;Punkte-Kosten
StringGadget(8,200,110,140,20,"",#PB_String_ReadOnly|#PB_String_BorderLess) ;Ausgewählten Text anzeigen
StringGadget(9,300,20,40,20,"110")
SetGadgetFont(3,FontID(2))
SetGadgetFont(4,FontID(2))
SetGadgetFont(5,FontID(2))
SetGadgetFont(8,FontID(2))
ListViewGadget(7,40,60,140,95)
AddGadgetItem(7,0,"Text für Item 0")
AddGadgetItem(7,1,"Text für Item 1")
AddGadgetItem(7,2,"Text für Item 2")
SetGadgetItemData(7,0,a1)
SetGadgetItemData(7,1,a2)
SetGadgetItemData(7,2,a3)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
If EventGadget()=2
Quit=1
EndIf
If EventGadget() = 7
If EventType() = #PB_EventType_LeftClick
GetGadgetState(7)
If value=a1
SetGadgetText(6,"0")
SetGadgetText(8,"Text für Wert a1")
EndIf
If value=a2
SetGadgetText(6,"0")
SetGadgetText(8,"Text für Wert a2")
EndIf
If value=a3
SetGadgetText(6,"0")
SetGadgetText(8,"Text für Wert a3")
EndIf
EndIf
EndIf
Until Quit=1
EndIf
EndIf
End
__________________________________________________
Code-Tags hinzugefügt
07.01.2010
RSBasic