禁止某控件重绘的问题

xiaowei_001 2012-11-13 11:09:35
问题描述

Pannel上有1000个label,点button1,调整所有label的高度,由于每调整一个,窗口就会重绘,所以造成很慢,
试过把Panel隐藏,就会非常快,但是我不隐藏pannel,想通过屏蔽pannel重绘,实现快速调整,求教
...全文
150 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
oa2008032220 2012-11-13
  • 打赏
  • 举报
回复
没放1000个,反正少了是效率挺高的。。参考下。。 for I := 0 to self.Panel1.ControlCount - 1 do begin if (self.Panel1.Controls[i] is TLabel) then TLabel(Aowner.Controls[i]).Height:=StrToIntDef(self.edt1.Text,20); TLabel(Aowner.Controls[i]).Width:=StrToIntDef(self.edt2.Text,30); end; 满意给分吖。。。
feiba7288 2012-11-13
  • 打赏
  • 举报
回复
发送WM_SETREDRAW消息
hsfzxjy 2012-11-13
  • 打赏
  • 举报
回复
没办法,一个控件若自己要重画,它的同级控件就得重画。。你试试form.DoubleBuffered:=true

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧