Variable GadgetList und variable Events ?
Verfasst: 12.11.2014 22:55
Hallo,
ich hatte für einen anderen Thread ein Beispiel entwickelt, worin eine unwägbare Anzahl von Gadgets erstellt werden Kann.
Ich kann mir aber nicht vorstellen, wie man eine variable EventAbfrage vorbereiten kann, die für sich auch völlig flexibel ist, das sie jedwede Menge an neuen Gadget überwachen / abfangen kann.
Ich habe dort zwei Hinweise erhalten, die ich beide nicht umsetzen kann, und bleibe mit meinen Fragen alleine.
Thomas empfiehlt: Listen, Arrays, Maps usw.
und Stevie empfiehlt: 'auf ein Gadget geklickt':
Die Listen sind mir fremd und ich weiß nicht, ob das dann gespeicherte Addressen sind oder literale Strings.
Und dann habe ich keine Vorstellung, wie ich einen ListenIndex als Zuordnung zu einem Gadget-event nutzen kann - geschweige denn, den flexiblen Event-Loop dafür einzurichten.
Würde mich über Unterstützung, mit der ich das lösen kann freuen.
Grüße ~ Vera
ich hatte für einen anderen Thread ein Beispiel entwickelt, worin eine unwägbare Anzahl von Gadgets erstellt werden Kann.
Ich kann mir aber nicht vorstellen, wie man eine variable EventAbfrage vorbereiten kann, die für sich auch völlig flexibel ist, das sie jedwede Menge an neuen Gadget überwachen / abfangen kann.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 305, 180, "ScrollAreaGadget - test Gadget-Lists", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ScrollAreaGadget(0, 10, 10, 290, 160, 375, 205, 30)
ButtonGadget (1, 150, 0, 120, 30, "1: Button")
ButtonGadget (2, 150, 35, 120, 30, "2: add change list")
ButtonGadget (3, 150, 70, 120, 30, "3: reNew gadget list")
TextGadget (4, 0, 10, 145, 80, " 4: This is the content"+Chr(10)+" of a ScrollAreaGadget!" +Chr(10)+Chr(10)+" at the moment", #PB_Text_Center | #PB_Text_Border)
CloseGadgetList()
RandomSeed(333)
n=1 ; To count Case 3
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
Select EventGadget()
Case 1
MessageRequester("Info", "Button 1 was pressed!", #PB_MessageRequester_Ok)
SetGadgetText(1, "1: was pressed")
Case 2
OpenGadgetList(0)
ButtonGadget (1, 150, 0, 120, 30, "old 1 again")
SetGadgetColor(4, #PB_Gadget_BackColor, RGB(Random(189),Random(123),Random(133)))
ButtonGadget (5, 170, 105, 80, 30, "new Gaget 5")
CloseGadgetList()
Case 3
; HideGadget(0,1)
OpenGadgetList(0)
For i = 4 To (Random(99)+1)*30
h = (i-4)*30
StringGadget(i, 10, h, 120, 25, Str(n)+" - TextGadget " + Str(i))
; Delay(60)
Next i
n+1
SetGadgetAttribute(0, #PB_ScrollArea_InnerHeight, h+30)
SetGadgetText(1, Str(i-1) + " - new Gadgets")
CloseGadgetList()
; HideGadget(0,0)
EndSelect
EndSelect
ForEver
EndIf
Thomas empfiehlt: Listen, Arrays, Maps usw.
Code: Alles auswählen
For i=1 To 100
AddElement(MyList())
MyList() = TextGadget(#PB_Any, 10,i+80,100,25,"TextGadget "+Str(i))
Next i
Code: Alles auswählen
For i=1 To SpielerAnz ;(Globale Variable)
If aGadgetID=LobbyButton(i)
LobbyButton_Click(i) ;Button I wurde geklickt
EndIf
Next i
Und dann habe ich keine Vorstellung, wie ich einen ListenIndex als Zuordnung zu einem Gadget-event nutzen kann - geschweige denn, den flexiblen Event-Loop dafür einzurichten.
Würde mich über Unterstützung, mit der ich das lösen kann freuen.
Grüße ~ Vera