Thanks to the work of @JulianS, I’ve learned a lot of things recently about controlling flicker. Unfortunately it’s not straight forward or simple for many (or most?) of us.
Nevertheless I love Xojo and decided to learn all I can while the issue is being discussed.
I decided to try resolving the windows flicker in the project mentioned above. I’m pleased with the progress I’ve been able to make, but I noticed that after resizing the window things go wonky and start flickering again until the app is restarted.
I’ve encrypted the main class because my intention was not to compete with @Martin Trippensee . @JulianS If you want the encrypted project I can PM you a link.
Its ok, this is the same problem I am currently finding in my tests. I’ve yet to find a way around the “flicker appears after resizing the window” problem.
I don’t think so. I’ve tried saving the order of the controls into an array during the intitial zOrderFix, and the running a method zOrderRefix that used the array to run the same code as zOrderFix on the same controls in the same order. I can’t figure out what it is.
Another think is that it seems like a scrollbar causes it’s parent to refresh every time the valuechanged event is fired. I had to freeze the window when scrolling and manually refresh the areas that needed it.
Took the great project with the scrolling CC from @JulianS .
Changed it a bit: since I need scrolling CC on just a part of the Window,
I’ve put hist CC on top of another CC which also has the scrollbar on it.
Looks like this:
How about this? The IDE is on the left for comparison.
If placing in a tab you need to set the container.parent = nil then manually manage visibility when the tabvalue changes.
There are still some dead ends in regard to flicker. I’ve done a lot of fooling around and wouldn’t have gotten anywhere close to this without help from @JulianS . The most notable one is after the window is resized flicker again begins until the app is restarted. Also when animating the collapse/axpand for the container that is over the tabcontrol there is flicker.
[quote=346569:@Neil Burkholder]How about this? The IDE is on the left for comparison.
If placing in a tab you need to set the container.parent = nil then manually manage visibility when the tabvalue changes.
Which is linux distro that you have tested this app? If I remember correctly, Linux has own issue on scrolling a tall container placed inside a short container.
You’re right the child container scrolls off the top of it’s parent and displays in the main window outside the bounds of it’s parent container. I’ll look into it.