Pha*_*aoh 7 delphi vcl doublebuffered toolbar delphi-xe3
我正在使用Delphi XE3.
当我创建一个新的VCL项目并删除TToolbar
它时,一切正常 - 除非我激活Form1.DoubleBuffered
.
从那一刻起,工具栏的绘制就被打破了 - 在设计时,它是黑色,透明或IDE的一部分(状态栏,工具栏等)被复制到其中.当我点击它时以及当我更改为源代码(F12)并返回时,它会在这些选项之间发生变化.
在运行时,它总是黑色的.
随着DrawingStyle=dsGradient
,一切正常.切换回dsNormal
再次打破它.
停用Form1.DoubleBuffered
修理它.
任何提示如何解决该问题?
我认为解决方案是设置TForm.DoubleBuffered
为False
. 使用 的值会True
导致各种其他问题。在 XP 主题之前,这个属性工作得相当好,但TForm.DoubleBuffered
在我看来,自它们出现以来,使用并不可行。
除了您遇到的问题之外,我在使用 Windows Basic 主题时还遇到了很多绘画缺陷。我知道这不是主流,但我碰巧在远程访问中经常看到这种情况。还有更多。当您对表单进行双缓冲时,您会停止主题动画的工作。例如,默认按钮发出脉冲以指示它是默认按钮。
如果您在没有双缓冲表单的情况下调整大小闪烁,请使用我对另一个问题的回答中的想法。从评论来看,您想要对抗的闪烁似乎是在油漆盒中。我显然不知道细节,但我的经验和直觉表明,您应该能够在局部级别轻松处理闪烁。当然不需要全局表单范围的双缓冲。
归档时间: |
|
查看次数: |
1134 次 |
最近记录: |