On Wed, Jan 16, 2013 at 11:12 AM, hakan <hexit34@users.sourceforge.net> wrote:
I agree that flicker exist in the groupbox when using augmentedResize.rex and basicResize.rex, but as Staffan say "..hardly notice any flicker, at least not so that it's disturbing in any way"

You guys may have better hardware than my current stuff.  Faster video will always reduce flicker.  It bothers me more from a programming stand point than an actual usage stand point.  I would like to be able to program the resizing so I could not see any flicker.
 
Also flickering is only there if you have the flag "show window content while dragging" set, if this flag is unset there is no flicker at all (when unset windows just outline the window size and repainting is done when sizing is ended)

If this flag could be set for individual windows/dialogs, one could decide to use that in the case there is to much flickering, for now it's a global Windows option I Believe.

Yes, it is a global setting.  You can turn it off and on programmatically, but you can not turn it off and on per individual window.  You could even do it in ooRexx through the SPI class.  Not today, the SPI class does not have the proper attribute, but it would only take a few minutes to add the attribute.  And an hour to document it.
 

On the other hand when using gbStationary.rex (stationary/fixed groupbox) I see no flicker at all, independent if the above flag is set or unset.

Your statement, ''don't use "groupbox" in resizible dialogs'' is only valid if groupbox also is resized?. Altough the flicker is hardly noticed ( this on i3, 2.13 MHz 8 Gb Ram)
My feeling is when the groupbox is fixed in size it's OK to use them without any flicker and the same for static controls and maybe a note in the manual what can be expected and how to circumvent if needed.

The basics of the implementation code is to reduce the amount of erasing and repainting being done.  Everything that is moved has to be redrawn at least once, it is changed after all.  The idea is, for each move, only do it once.  Much of the time, usually, for each move, things are erased and redrawn multiple times.

For group boxes, they don't draw their interior.  With no change to the implementation, after the resizing is done, you see big spaces in the interior of a group box where it is not the dialog color.  This is very noticeable  So, for group boxes a style is added by ooDialog that fixes that problem.  But, adding that style causes erasing and redrawing to, possibly, be done more than once.  This is most noticeable if the group box is changing in size.  It is  not very noticeable if the group box remains fixed in size.

As a developer, I can't reasonably tell people to get better hardware so that what I've programmed looks better. ;-)  Likewise, I can't  tell them to change a global Windows setting to something different than what they are using.  If there was absolutely no flickering, then that would be great.  If I do detect flickering, then it constantly bugs me, because I keep thinking: is there something I could do in the implementation that would fix that, or is that just the  best that can be done. 

--
Mark Miesfeld