ladest du den imagegadget vor den anderen, so hilft auch setactivegadget nicht.
ladest du den imagegadget zu letzt, hast du immer noch das problem, das alle überdeckt sind und du erst irgendeinen
gültigen gadget-bereich anklicken musst, damit der sichtbar ist. absolut nicht zu gebrauchen.
dann gibt es noch das superproblem, das man ja nicht zwangsläufig weiß, welche und wieviele gadgets in den
container hineingeladen werden. weil man ja mit opengadgetlist() später noch weitere gadgets da rein stellen kann.
ne, also ich finde, das es sich einfach nicht lohnt den unnötigen umweg über den imagegadget zumachen. außerdem
vergäudet man dabei unnötigen speicher für den image und dem imagegadget und dem container. drei elemente, obwohl nur
zwei ausreichen müssten.
außerdem ist das mit dem disablegadget unter linux absolut nicht zu gebrauchen, da das image in graustufen geformt wird.
aber da habe ich eine andere lösung gefunden, zwar keine superlösung, aber eine lösung.
für mac, naja, warum bei mac immer alles ein extrawurst sein muss, ist mir unklar...
hier der code:
Code: Alles auswählen
OpenWindow( 100, 50, 50, 500, 500, "Test" )
CreateImage(0,500,500)
StartDrawing(ImageOutput(0))
Box(0,0,500,500,RGB(255,255,255))
Box(10,10,480,480,RGB(235,235,235))
Box(20,20,460,460,RGB(215,215,215))
StopDrawing()
ContainerGadget(10,0,0,500,500,#PB_Container_BorderLess)
; ENTWEDER
;ImageGadget( 1, 0, 0, 500, 500, ImageID(0) ) : DisableGadget(1,1)
ButtonGadget(101,50,50,100,30,"Klick")
ButtonGadget(102,50,95,130,30,"Oder mich")
; ODER
ImageGadget( 1, 0, 0, 500, 500, ImageID(0) ) : DisableGadget(1,1)
SetActiveGadget(101)
SetActiveGadget(102)
CloseGadgetList()
Repeat
event = WaitWindowEvent()
Until event = #PB_Event_CloseWindow