Progress Bar: Fix Class Style & Repainting (resend2)

Robert Shearman rob at codeweavers.com
Wed Sep 29 06:24:55 CDT 2004


Alexandre Julliard wrote:

>Robert Shearman <rob at codeweavers.com> writes:
>
>  
>
>>Changelog:
>>- Fix class style to include the hbrBackground member.
>>- Fix repainting issues introduced by this change.
>>- Add WM_ERASEBKGND handler and remove background drawing code from
>>the WM_PAINT handler.
>>    
>>
>
>Isn't that going to cause a lot of flicker?
>

Not in the normal case. Flicker is caused when then background is drawn 
and then painted over by the foreground. I have kept the logic that only 
draws the background if the position of the progress bar has decreased. 
Admittedly, the invalidation in marquee mode will suffer from this 
problem, but I suppose that could be worked around with some careful 
RedrawWindow's.

>This was the reason for
>the existing code, because otherwise it looks really bad with apps
>that update the progress bar a lot.
>  
>

The existing code is wrong. Apps that depend on WM_ERASEBKGND doing 
something currently look really bad, no matter how often they update the 
progress bar. It would be a shame to leave have this bug remain in an 
otherwise completed control.

Rob




More information about the wine-devel mailing list