如何解决PageContral切换各Tab时的界面闪烁问题,因为各Tab的元素跟控件各不相同且数量不少。

glboy 2005-07-27 10:18:41
问题见标题。
...全文
157 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
glboy 2005-07-27
  • 打赏
  • 举报
回复
多谢xixuemao(俺可是㊣②㈧经儿滴人) 的热心和支持
glboy 2005-07-27
  • 打赏
  • 举报
回复
发现问题啦,因为使用了一个皮肤控件(该控件采用了hook技术),当我不使用它时闪烁的问题就不大了,可恶的是,该皮肤控件没有提供doublebuffered,:(
xixuemao 2005-07-27
  • 打赏
  • 举报
回复
你的checkbox是和数据库关联的嘛?还是需要根据从数据库取出的值来修改checked属性。
如果是关联的,我以前做的2万条记录,包括全选、反选check都很快。
glboy 2005-07-27
  • 打赏
  • 举报
回复
这个是没法更改了,这样的布局一个方面也是这次这套软件的一大特定特色
现在目前的问题不是很大,主要的问题存在于如果有的tab有上百个checkbox的时候,其
tab所在区域的重绘其窗体形状很乱,大概持续时间在1秒左右

不知道能否解决,在pagechange时用sleep(1000)似乎效果也并不是很好
xixuemao 2005-07-27
  • 打赏
  • 举报
回复
那就不要把这些功能模块做在一个pagecontrol中了......
glboy 2005-07-27
  • 打赏
  • 举报
回复
加了DoubleBuffered := true;
是好些,因为有的Tab有较多的Checkbox,而且是在pagechange要从服务器端进行查询返回结果来加载
Checkbox的Checked属性的,所以还是闪烁
hqhhh 2005-07-27
  • 打赏
  • 举报
回复
DoubleBuffered := true;
xixuemao 2005-07-27
  • 打赏
  • 举报
回复
楼上正解,哈哈。
paranoia190 2005-07-27
  • 打赏
  • 举报
回复
DoubleBuffered := true;

828

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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