Seite 1 von 1
SetGadgetState-Probleme
Verfasst: 15.11.2014 21:11
von stevie1401
Ich möchte einem vorhandenen Imagegadget ein neues geladenes Image zuweisen.
Ich begreife leider das mit den Gadged IDs und Nr und Image Id und Nr nicht.
Ich bekomme es jedenfalls nicht hin.
Die Meldung lautet immer:Das angegebene #Image ist nicht initialisiert.
Das mag ja sein, geladen ist es zumindest.
Kann mir jemand ein einfaches und funktionierendes Beispiel geben?
Re: SetGadgetState-Probleme
Verfasst: 15.11.2014 21:15
von RSBasic
Code: Alles auswählen
EnableExplicit
CreateImage(1, 100, 100, 24, RGB(128, 255, 128))
CreateImage(2, 100, 100, 24, RGB(64, 64, 255))
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ImageGadget(1, 10, 10, 0, 0, ImageID(1), 0)
ButtonGadget(2, 10, 120, 100, 20, "Ändern", 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 2
SetGadgetState(1, ImageID(2))
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Re: SetGadgetState-Probleme
Verfasst: 15.11.2014 21:32
von ts-soft
Innerhalb der Image lib arbeitet man meist mit dem Image.
Bei Verwendung mit anderer lib, mit ImageID!
Das hat den Vorteil, das auch, andere per API geladene Bilder,
dargestellt werden können.
Solange man bei Images auf #PB_Any verzichten kann, sollte man
dies auch tun, solange man die Zusammenhänge nicht so kennt.
Ich hoffe etwas Licht ins dunkle gebracht zu haben, aber kann natürlich
sein, das es jetzt noch dunkler geworden ist. Dann hilft probieren, soviele
Möglichkeiten sind es ja nicht
Gruß
Thomas
Re: SetGadgetState-Probleme
Verfasst: 15.11.2014 21:38
von stevie1401
Genau da ist mein Problem:
Ich mache das anders:
Bild(i)=loadimage(#pb_any,.....)
Die Imagegadgets habe ich so gemacht:
SpielkarteImgID(i)=imagegadget(#pb_any,10,20,30,40,imageid(bild(i)))
Nun soll das Imagegadget Img(3) das geladene Bild bild(12) bekommen.
Habs hinbekommen:
SetGadgetState(SpielkarteImgID(3),ImageID(bild(8)))
Sehr verwirrend.
Bei SetGadgetState muss ich NICHT, wie angenommen, die GadgetID angeben, sondern die NUMMER.
Dafür muss ich aber die ImageID des neuen Bildes angeben und NICHT die Nummer.
Vielen Dank für eure Hilfe (und eure Geduld mit mir

)

Re: SetGadgetState-Probleme
Verfasst: 15.11.2014 21:52
von ts-soft
SetGadgetState erwartet natürlich die Nummer des Gadgets. Gehört ja zur GadgetLib.
Bei dem Image wird aber die ImageID erwartet, weil gehört nicht zur GadgetLib und es sollte
auch ein Bild, das auf andere Weise geladen wurde, zum Beispiel mit API, darstellen können.
Naja, wirste wohl noch öfter durcheinander kommen, aber im Laufe der Zeit geht das über wie
...
Gruß
Thomas