Taskpanel with scrollbar FLICKERS my usercontrol |
Post Reply |
Author | |
pxpx
Newbie Joined: 03 November 2006 Status: Offline Points: 6 |
Post Options
Thanks(0)
Posted: 14 September 2010 at 9:16am |
Hello everyone,
I have a form with 3 task panel, in a simple layout: the third taskpanel contains 3 groups, each one with a frame and some controls inside. The third group has an usercontrol inside (we have developed it, so it's in the same vb6 DLL = runs with sources) with a lot of controls (textboxes, labels, command, frames, grids, tabs). As the groups don't fit anymore in the panel, and the scrollbar appears, the usercontrol we have done flickers in an horrible way: take a look at the attached picture to see the results. Seems like only the textboxes and the comboboxes flickers: as I stand still with the scrollbar they come back as before. If I scroll the mousewheel the flickering doesn't happen. Can someone please give me an advice to avoid this behaviour? can this be correct in the next release? Thank you px |
|
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 886 |
Post Options
Thanks(0)
|
I have a similar issue. We add items that are simply dialog boxes. When the user scrolls, all the child windows flicker because of background erase and paint messages. So far I have been unable to get "smooth" scrolling. It is more noticeable when using the scroll bar but I can detect the messages when using the wheel too.
One thing I tried was to create my taskpanel using WS_CLIPCHILDREN. When I did that and scrolled, I got an image that looks a lot like yours. Do you have WS_CLIPCHILDREN style set on your panel window? |
|
rdhd
Senior Member Joined: 13 August 2007 Location: United States Status: Offline Points: 886 |
Post Options
Thanks(0)
|
pxpx,
You inspired me to go back and revisit my flashing. I added WS_EX_COMPOSITED style to my task panel window. That smoothed out my scrolling (had no effect on my dialogs I insert in so I tried the panel). When I did that I again got an image that looks like yours. My background was not erasing correctly. My dialog class I use in the task panel was returning the HOLLOW_BRUSH when OnEraseBackground was called. I changed to use CDialog::OnEraseBackground. Now I have the same look as before and my scrolling is smooth. So perhaps you have an erase background issue either with your control or the dialog. You might try experimenting with the extended style, your background erasing and possibly the clip styles to see if you can arrive at a solution. |
|
Jebo
Senior Member Joined: 27 October 2005 Location: Germany Status: Offline Points: 318 |
Post Options
Thanks(0)
|
Exactly same problem. This Refresh Bug occurs only on Windows 64-Bit (both -> Win7 and Vista) and with SandyBridge-CPU's.
CJ, PLEASE FIX IT!!! |
|
[Sig removed by Admin: Signature can't exceed 40GB]
|
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |