[MAXGUI] BIG problem when resizing a window

BlitzMax Forums/BlitzMax Beginners Area/[MAXGUI] BIG problem when resizing a window

Hi!

On my current project I resize all gadgets on my window via setgadgetshape. The problem is thet when I scale the window down again it leaves old "data" from other gadgets on screen.
This looks very odd. When I minimize and maximise the window all is fine again.

I tried "redrawgadget" on all window elements, but the error still shows up. It seems like the lisboxes aren't re-drawn at all! When I move upwards and downwards inside the list, the drawing bug goes away too.

Is there a way to tell bmx to redraw ALL GADGETS like when the windwo comes back from minimize state?
Is there any other workaround to fix this?

I marked the areas pink:


edit:


As you can see on the second picture. The glitch seems to be related to listboxes.

I'm depressed... As the whole app itself works fine. It just looks horrible! :(

Grisu

What if you do a redraw of the Window itself, does that redraw all gadgets within the window?

What if you temporarily hide the window and the unhide it?

Already tried RedrawGadget(MyWindow). Won't help.
Hiding and showing the window helps. But this is not how a "good" program should work.

So I got rid of all setgadgetshape and only use setgadgetlayout. Most issues disappeared then.

The one that did not I posted in the bug forum:
http://www.blitzbasic.com/Community/posts.php?topic=59315

Until the bug gets fixed, how about just putting all the gadgets into a TList?

Untested:
Local GadgetList:TList = CreateList()
Local Window:TGadget = CreateWindow("MyWindow",100,100,320,240)
ListAddLast(GadgetList,Window)
Local Button:TGadget = CreateButton("Ok",10,10,100,40,Window)
ListAddLast(GadgetList,Button)

etc...

For Local ThisGadget:TGadget = Eachin GadgetList
  RedrawGadget ThisGadget
Next