| View previous topic :: View next topic |
| Author |
Message |
djc Guest
|
Posted: Fri Oct 24, 2003 8:00 am Post subject: TPageControl & XP = flicker |
|
|
Using Windows XP, Delphi 7. My application has TPageControl panels and the
XP manifest.
Flipping between tabs produces a flicker. You can see some black flicker on
the panel. How do I fix this yet-another-Delphi-and-XP annoying bug?
--
Regards,
djc
|
|
| Back to top |
|
 |
djc Guest
|
Posted: Mon Oct 27, 2003 10:39 am Post subject: Re: TPageControl & XP = flicker |
|
|
Anybody? Surely I am not the only person who has used TPageControl on XP? It
seems like something that would be common but I cannot find any information
on how to solve this.
--
Regards,
djc
"djc" <djc (AT) fakeaddress (DOT) com> wrote
| Quote: | Using Windows XP, Delphi 7. My application has TPageControl panels and the
XP manifest.
Flipping between tabs produces a flicker. You can see some black flicker
on
the panel. How do I fix this yet-another-Delphi-and-XP annoying bug?
--
Regards,
djc
|
|
|
| Back to top |
|
 |
Chris Burrows Guest
|
Posted: Mon Oct 27, 2003 11:55 pm Post subject: Re: TPageControl & XP = flicker |
|
|
djc wrote:
| Quote: | Anybody? Surely I am not the only person who has used TPageControl on
XP? It seems like something that would be common but I cannot find
any information on how to solve this.
"djc" <djc (AT) fakeaddress (DOT) com> wrote in message
news:3f98dc68$2 (AT) newsgroups (DOT) borland.com...
Using Windows XP, Delphi 7. My application has TPageControl panels
and the XP manifest.
Flipping between tabs produces a flicker. You can see some black
flicker on the panel. How do I fix this yet-another-Delphi-and-XP
annoying bug?
|
From reading the newsgroups I'm beginning to think it is only you and I who
are brave (or stupid) enough to attempt to do anything with the XP-related
features of D7 :(
Try setting PageControl.DoubleBuffered := true. I can't say whether it will
fix your problem but double-buffering is usually a good general cure for
flicker problems.
Chris Burrows
CFB Software
http://www.cfbsoftware.com
|
|
| Back to top |
|
 |
djc Guest
|
Posted: Tue Oct 28, 2003 2:50 am Post subject: Re: TPageControl & XP = flicker |
|
|
| Quote: | From reading the newsgroups I'm beginning to think it is only you and I
who
are brave (or stupid) enough to attempt to do anything with the XP-related
features of D7 :(
Try setting PageControl.DoubleBuffered := true. I can't say whether it
will
fix your problem but double-buffering is usually a good general cure for
flicker problems.
|
I was able to fix this only by setting both the form and PageControl to
double buffered.
DoubleBuffered:=True;
PageControl.DoubleBuffered:=True;
--
Regards,
djc
|
|
| Back to top |
|
 |
djc Guest
|
Posted: Tue Oct 28, 2003 2:52 am Post subject: Re: TPageControl & XP = flicker |
|
|
That wasn't much of a solution. Now TButton's wont paint properly. They have
thick black borders. Just another reason why I hate Delphi's VCL. >:-(
--
Regards,
djc
|
|
| Back to top |
|
 |
Yorai Aminov (TeamB) Guest
|
Posted: Sat Nov 01, 2003 2:56 pm Post subject: Re: TPageControl & XP = flicker |
|
|
On Tue, 28 Oct 2003 13:52:29 +1100, "djc" <djc (AT) fakeaddress (DOT) com> wrote:
| Quote: | That wasn't much of a solution. Now TButton's wont paint properly. They have
thick black borders. Just another reason why I hate Delphi's VCL. >
|
Then don't use it. However, if we are to look past the emotional
issue, this is actually a Windows problem. XP visual styles support a
form of transparency and textured backgrounds. Page controls are
notorious for their slow drawing when XP visual styles are enabled.
Unfortunately, the only way around this is to disable visual styles in
your application.
The DoubleBuffered solution is not guaranteed to work, since all it
does is create a memory bitmap for drawing. Whether and how this
bitmap is actually used depends on the control. Buttons and page
controls are implemented by Microsoft, and may choose to ignore
certain settings.
---
Yorai Aminov (TeamB)
http://develop.shorterpath.com/yorai
(TeamB cannot answer questions received via email.)
|
|
| Back to top |
|
 |
|