Nach einer Pause habe ich wieder B4X (genauer: B4XPages) für mich entdeckt. Und da taucht gleich ein Layoutproblem bei mir auf.
Ich habe ein Panel myPanel und ein Canvas cnv, das mit dem Panel initialisiert wird: cnv.Initialize(myPanel). Auf dem Canvas werden kleine Boxen gezeichnet, die sich bewegen. Wie kann ich nun die Hintergrundfarbe verändern? Ein Ändern der Panel-Color im Designer bewirkt nichts.
Und wie werden die Boxen bewegt ?
Ich nehme an dass die neu gezeichnet werden, und dann gibt es Mist mit der Hintergrundfarbe.
Oder willst Du den ganzen Hintergrund mit einer neuen Farbe ersetzen ?
Die Hintergrundfarbe kannst Du nur mit cnv.DrawColor ändern, dann müsstet Du aber alle Boxen neu zeichnen.
Um die ganze Hintergrundfarbe zu ändern wäre es einfacher ein Hintergrundpanel mit dieser Farbe zu erstellen.
In allen Fällen musst Du du an der letzten Stelle wo die Box war die Hintergrundfarbe wieder herstellen.
Das kannst Du mit DrawRect oder DrawCircle machen, je nach der Form der Boxen.
Und dann die Box an der neuen Stelle zeichnen.
Ja, Klaus, die Boxes werden für die Bewegung neu gezeichnet. Die Methode cnv.DrawColor gibt es bei mir nicht (habe das neueste B4A), und auch das Ändern der Panel-Color im Designer hat keinen Effekt. Kann es daran liegen, dass ich das Panel als B4XView und das Canvas als B4XCanvas definiert habe?