Delphi 使用VCL控件的双缓冲区

Delphi 使用VCL控件的双缓冲区,delphi,doublebuffered,jvcl,Delphi,Doublebuffered,Jvcl,我的应用程序有许多图形和可视组件。。。因此,我尽可能在每个组件中启用doublebufferd=true 后来我想用一个面板来固定一些组件(它使对齐变得容易) 但同时面板必须具有透明属性(只有我才能显示面板下方的图形) 所以我在我的托盘中找到了一个面板“TJVPanel”,它具有透明属性,所以我使用了它,并将transparent设置为true;对齐=右(正确) 一切都很好,但当我调整大小时,jvpanel和jvpanel中的组件正在快速移动 所以我搜索了双缓冲区,但没有成功 有谁能告诉我这个问

我的应用程序有许多图形和可视组件。。。因此,我尽可能在每个组件中启用doublebufferd=true

后来我想用一个面板来固定一些组件(它使对齐变得容易) 但同时面板必须具有透明属性(只有我才能显示面板下方的图形)

所以我在我的托盘中找到了一个面板“TJVPanel”,它具有透明属性,所以我使用了它,并将transparent设置为true;对齐=右(正确)

一切都很好,但当我调整大小时,jvpanel和jvpanel中的组件正在快速移动

所以我搜索了双缓冲区,但没有成功

有谁能告诉我这个问题的解决方案,或者向我推荐另一个组件

,但我更喜欢使用经过一些修改的jvpanel,因为有些tms组件是透明的,但您必须付费,

您是否尝试过覆盖jvpanel的OnPaint方法,使其不绘制任何内容。您可能需要通过传递子控件的绘制消息或调用它们的绘制方法来让它在内部绘制子控件


我已经有一段时间没有这样做了,但它可能会为您指明正确的方向。

如果您向我推荐vcl,请确保它是免费的,或者不免费的。对不起,我忘了提到flicking,但现在我已经编辑了它,再次抱歉,我假设在调整面板大小时,您的组件会闪烁。你的问题中少了一些词,这让人有点困惑。“一切正常,但当我调整大小时,jvpanel和jvpanel内部的组件是……”我猜你想用“闪烁”一词替换最后三个词?这是正确的吗本页发表以下评论。我还没有测试过。ControlStyle:为了防止窗体在每次绘制时重新绘制其背景,即使使用双缓冲技巧也会导致闪烁,请在FormCreate中放置以下内容:Form1.ControlStyle:=Form1.ControlStyle+[CS不透明];本页还有许多其他有用的提示。