delphi – 在运行时插入控件集非常慢
发布时间:2020-12-15 09:38:01 所属栏目:大数据 来源:网络整理
导读:我们有一个销售点应用程序,在这个应用程序中我们有一个滚动框容器.如果卖家选择产品,则会创建新产品行并将其插入滚动框.产品行组件是一个框架 – 文本框,按钮和标签. 但是在运行时将此产品行控件插入到滚动框中会出现一些问题.这很慢.我可以看到选择产品如何
我们有一个销售点应用程序,在这个应用程序中我们有一个滚动框容器.如果卖家选择产品,则会创建新产品行并将其插入滚动框.产品行组件是一个框架 – 文本框,按钮和标签.
但是在运行时将此产品行控件插入到滚动框中会出现一些问题.这很慢.我可以看到选择产品如何将edittext组件慢慢地绘制到滚动框中. 我尝试在ScrollBox.InsertControl之前将组件的可见性设置为false并在之后启用它,但它无助于加快速度.我还读到了关于DisableAlign / EnableAlign的事情,但我不确切知道我必须把这行代码放在哪里. 如何加快将此自定义组件插入到表单的滚动框容器中? 解决方法
TScrollBox没有使用WM_SETREDRAW消息的BeginUpdate / EndUpdate,而是
you can get the same effect.我可能会避免像
LockWindowUpdate那样的重手法.
SendMessage(ScrollBox1.Handle,WM_SETREDRAW,0); try // add controls to scrollbox // set scrollbox height finally SendMessage(ScrollBox1.Handle,1,0); RedrawWindow(ScrollBox1.Handle,nil,RDW_ERASE or RDW_INVALIDATE or RDW_FRAME or RDW_ALLCHILDREN); end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |