gpt4 book ai didi

delphi - 为什么 Delphi 2010 TRibbon 在 Windows XP 上控制 "flicker",而不是 Vista/7?

转载 作者:行者123 更新时间:2023-12-03 15:12:36 28 4
gpt4 key购买 nike

alt text

我注意到,当我使用 Delphi 2010 附带的 TRibbon 控件时,它在我的 Windows 7 系统上完美运行。然而,该应用程序在具有“经典主题”的 Windows XP 系统上存在一些奇怪的绘画问题(我还没有尝试过 playschool 主题)。

我知道 DevExpress 还提供其他功能区组件和 TMS Software ,但是购买第 3 方控件不是此项目的选择。

有人遇到过这个问题,或者知道解决办法吗?

最佳答案

很可能是因为 Windows 7 使用“桌面合成”,这本质上意味着将组件绘制到屏幕外位图,然后复制到显示器上。在 XP 中,组件通常直接在显示器上绘制(如果组件首先删除那里的内容并在“干净的石板上”进行绘制,则可能会导致闪烁)。

Delphi 支持双缓冲,它可以完成同样的事情。如果将功能区的 DoubleBuffered 属性设置为 True(在代码中,因为它未发布),那么应该可以避免闪烁(以分配额外的内存并在绘图时移动为代价)——但是,我应该说,我还没有实际上没有用 TRibbon 尝试过。

请注意,如果将 DoubleBuffered 设置为 True,则在 Windows 7(或 Vista)上运行时不会产生额外开销。 VCL 的代码可以在执行桌面合成的 Windows 版本上运行时跳过离屏位图业务。

关于delphi - 为什么 Delphi 2010 TRibbon 在 Windows XP 上控制 "flicker",而不是 Vista/7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813619/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com