gpt4 book ai didi

delphi - 在运行时插入控件集非常慢

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

我们有一个销售点应用程序,在此应用程序中我们有一个滚动框容器。如果卖家选择一个产品,则会创建一个新的产品行并将其插入到滚动框中。产品行组件是一个框架 - 其中包含文本框、按钮和标签。

但是在运行时将此产品行控件插入到滚动框中会出现一个小问题。很慢。我可以看到选择产品如何将 edittext 组件慢慢绘制到滚动框中。

我尝试在 ScrollBox.InsertControl 之前将组件的 visibility 设置为 false,并在之后启用它,但这并不能加快速度。我还阅读了有关DisableAlign/EnableAlign 的内容,但我不知道必须将这行代码放在哪里。

如何加快将此自定义组件插入表单的滚动框容器的速度?

最佳答案

TScrollBox 没有 BeginUpdate/EndUpdate,但是 you can get the same effect使用 WM_SETREDRAW 消息。我可能会避免更严厉的方法,例如 LockWindowUpdate .

  SendMessage(ScrollBox1.Handle, WM_SETREDRAW, 0, 0);
try
// add controls to scrollbox
// set scrollbox height
finally
SendMessage(ScrollBox1.Handle, WM_SETREDRAW, 1, 0);
RedrawWindow(ScrollBox1.Handle, nil, 0, RDW_ERASE or RDW_INVALIDATE or RDW_FRAME or RDW_ALLCHILDREN);
end;

关于delphi - 在运行时插入控件集非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6196752/

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