- Zum einen sieht man einen offensichtlichen Redraw-Fehler am unteren Teil des ersten TextGadgets und
- zum anderen ist keine wirklich erkennbare Logik hinter der Z-Position der Gadgets zu erkennen.
Was ich auch ausprobiert habe - ein wirklich ersichtliches und logisches Verhaltensmuster bei der Z-Positionierung der Gadgets konnte ich nicht finden.
Mal ist ein Gadget vor einem anderen - dann wieder dahinter, je nach zuvor getätigten Befehlen - aber scheinbar ohne logisches Muster.
Es sind extra ein paar auskommentierte Zeilen im Code mit dabei, damit man schnell mal ein paar Verhaltensweisen testen kann.
Gemeldet hatte ich diesen Bug bereits Anfang Mai per Mail an André - behoben wurde er jedoch bislang noch nicht.
Daher also hier mal die Bugmeldung als offiziellen Forumsbeitrag zur Erweiterung der ToDo-Liste.
Code: Alles auswählen
;
; Litte Example, to show some currious effects in Gadget-Redraw
; and Gadget Z-Position, if Gadget-Color or -Font is set.
;
; Play a little bit with the Commands in line 15-17 to see Redraw-Problems
; and play with commands in Line 21-23 to see, how Font Settings are changing
; the Z-Position of the Gadgets
If OpenWindow(0,1,1,500,260,"Gadget Z-Buffer Bug")
If CreateGadgetList(WindowID(0))
LoadFont(0,"Arial",20)
TextGadget(1,30,40,WindowWidth(0)-70, WindowHeight(0)-82," First TextGadget",#PB_Text_Border)
TextGadget(2,60,2,WindowWidth(0)-65, WindowHeight(0)-5," Second TextGadget",#PB_Text_Border)
TextGadget(3,0,200,120,40," Third TextGadget",#PB_Text_Border)
SetGadgetColor(3,#PB_Gadget_BackColor,$8888aa)
; SetGadgetColor(2,#PB_Gadget_BackColor,$998888)
SetGadgetColor(1,#PB_Gadget_BackColor,$99aa88)
; Es scheint etwas mit dem zugewiesenen Font zu tun haben.
; Scheinbar verändert das Zuweisen eines Fonts die Z-Order eines Gadgets.
; Denn wenn nachfolgende Zeile aukommentiert wird, stimmt die Reihenfolge wieder.
; SetGadgetFont(1,FontID(0))
; SetGadgetFont(2,FontID(0))
SetGadgetFont(3,FontID(0)) ; eine weitere Variante zum Ausprobieren.
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
EndIf
EndIf
End