AlphaControls 读取存贮数据VCL OnChange事件的处理

news2024/12/23 10:19:57

AlphaControls 读取存贮数据VCL OnChange事件的处理
  
    AlphaControls控件,窗口时显示,对于VCL控件的处理,需要通过调用皮肤模板重新画出来。因此,在窗口的显示过程中,对VCL控件的数据装载(变更),会引起窗口的不段地跟随变化(画图),造成不必要的屏幕闪动,或引导死屏现象。
     特别是使用读取存贮数据VCL,读取存贮数据数据时,有一定的时间,如果不考虑因素,就会造成窗口的缓慢与出错。

    这是AlphaControls控件的一大隐患。(这也是皮肤控件的共性特征)


    如何使用AlphaControls控件,带来C/S软件带来新鲜亮丽效果。编程中,如何改(完)善,使用AlphaControls控件,引起的囧境。通过一段时间,使用AlphaControls控件,发现在Fprm窗口显示时,特别对VCL控件的OnChange事件特别敏感,如果我们关闭OnChange事件,即在FormOnShow过程中,让窗口的VCL处于静态,有效地改善使用AlphaControls控件带来的问题。
    特别是几个读取存贮数据VCL,需要等待一定时间初始化,读取系统数据的VCL反应明显。

    下面就是针对,TsShellTreeView,TsDirectoryEdit和TClientDataSet关联DBGridEh内存表,初始化VCl未成形(Creat末完成),对它赋值就会出错。    一、让VCL的OnChange事件,全部改名,后缀一个Temp,这样OnChange事件作为后续再加入的(临时)事件。

procedure TUploatServerFrm.sShellTreeView1ChangeTemp(Sender: TObject;
  Node: TTreeNode);
begin
  FileListBox1.Directory:=sShellTreeView1.path;
  Button1Click(Sender);
end;

procedure TUploatServerFrm.sDirectoryEdit1ChangeTemp(Sender: TObject);
begin
  sShellTreeView1.Root:=sDirectoryEdit1.Text;
end;

    二、在VCL的OnChange事件,全部为空


    三、Form加入一TTimer控件,在OnShow的最后通过代码启动TTimer,等待约1000至2000稁秒,将需要OnChangeg事件的VCL,加入带后缀名的OnChangeTemp方法。
    1、Timer1初始

    Timer1.Enabled:=False;
    Timer1.interval:=1000;         // 毫秒

 
    2、Timer1事件

 

procedure TUploatServerFrm.Timer1Timer(Sender: TObject);
begin
  sShellTreeView1.SetFocus;
  Button1Click(Sender);                                        // DBGridEH内存表读取数据 
  sShellTreeView1.OnChange:=sShellTreeView1ChangeTemp;         // 加入关联事件
  sDirectoryEdit1.onChange:=sDirectoryEdit1ChangeTemp;
  Timer1.Enabled:=False;
end;

    四、OnShow处理

procedure TUploatServerFrm.OnShow(Sender: TObject);
var i:integer;
begin
  ......
  sDirectoryEdit1.Text:=sClientDisk;                // 初始化数据 
  sShellTreeView1.Path:=MainPath;
  FileListBox1.Directory:=sShellTreeView1.path;     // 关闭了OnChage 需同步数据
  sShellTreeView1.SetFocus;
  Timer1.Enabled:=True;                             // 最后启动Timer1
end;

    问题基本解决。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/77561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从获评毕马威中国领先地产科技50强 看贝壳的长期主义

11月9日,在上海进博会现场,毕马威发布了2022年度(第二届)“毕马威中国领先地产科技企业50”报告,并正式发布了年度毕马威中国领先地产科技企业50榜及地产科技新锐企业榜。作为国内居住产业数字服务平台的贝壳上榜。 众…

前辈给的 Spring Cloud 与 Docker 微服务实战,挽救了要被辞退的我

前言 还记得那天天气阴冷,整个人心都是拔凉拔凉的;原因是因为领导找我聊了一下,委婉地说觉得我的技术不太行,能力不突出;要么自己做出改变,要么选择离开。 说实话,我是有点难过的,…

Lambda完整学习指南

什么是Lambda表达式 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。 Java La…

大学生HTML作业篮球网页 HTML作业篮球网页期末作业 HTML+CSS篮球网页 HTML学生作业体育篮球网页

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

ARS系列毫米波雷达技术一览

近年来,自动驾驶成为了当下最热门的话题。随着自动驾驶技术的发展,作为其关键传感器之一的毫米波雷达,也得到了广泛关注。但就目前来看,海外巨头公司主导着全球毫米波雷达产业的发展,其中,大陆ARS540更以九…

吊打面试官,聊聊:Java中String对象的大小?(史上最全)

下面是一个常见的Java 面试题: 聊聊:Java中String对象的大小? 首先,看看空String占用的空间 当前内存大小是在默认开启压缩指针的条件下 对象头 12char[]数组引用 4int 类型 hash数据大小 4loss due to the next object alignm…

MacOS好用的系统清理工具CleanMyMac有哪些特点功能?

怎么样为Mac选择一款专业靠谱的清理工具?需要满足那些功能呢?对于大多数的新手用户可能并不知道如何来清理Mac系统,当然也不知道在众多清理工具中如何选择。选择一款清理工具最重要的是它的性能如何,能不能有效的帮助用户清理系统…

[附源码]JAVA毕业设计小说阅读网站(系统+LW)

[附源码]JAVA毕业设计小说阅读网站(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&…

听说你还不了解二叉树?赶紧进来轻松解决

✨个人主页: Yohifo 🎉所属专栏: 数据结构 | C语言 🎊每篇一句: 图片来源 Only by self-respect will you compel others to respect you. 只有自尊才能迫使他人尊敬你。 文章目录📘前言📘正文…

java的vo实体类字段和返回前端接收的字段大小写不一致

java的vo实体类字段和返回前端接收的字段不一致 后台的vo字段和前端接收到的出现大小写一直的情况 例如: 后台字段 /** a_lwa */private String aLwa;前端实际接收到的 这是由于使用lombok插件导致的 解决办法 实体类添加注解强制绑定 /** a_lwa */JsonProperty("aLwa&…

【JavaWeb开发-Servlet】day07-学生成绩管理系统-实现登录注册功能

目录 一、登录功能 1、实现登录页面 ①新建一张登录表:login ②插入一条测试数据 ③新建一个login.jsp登录界面 ④此表的实体Teacher类: ⑤ 然后在写一个dao方法,需要根据用户名查询登录表中的用户信息 ⑥业务层中我们直接调用dao层方法 ⑦在…

【负荷预测】基于灰色理论负荷预测的应用研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

南京邮电大学编译原理实验一(词法分析器的构造)

文章目录一、 实验目的和要求二、实验环境(实验设备)三、实验原理及内容(一)设计概要1、C语言子集2、单词及编码3、状态转换图(二)实现分析(三)结果分析四、实验小结(包括问题和解决方法、心得体…

文本纠错--N-gram--Macbert模型的调用以及对返回结果的处理

文本根据词典进行纠错 输入一段可能带有错误信息的文字, 通过词典来检测其中可能错误的词。 例如:有句子如下:中央人民政府驻澳门特别行政区联络办公室1日在机关大楼设灵堂    有词典如下:中国人民,中央人民&#x…

红帽曹衡康:开源是企业数字化转型的机遇

在数据成为企业核心资产的今天,为了更好地降本增效,实现业务创新和增长,越来越多的企业都开启了数字化转型之路。然而对于绝大多数企业来说,这条转型之路都并非一帆风顺。事实上,数字化转型在为企业开启更多机遇的同时…

爆火Chatgpt注册 chatgpt使用 完全指南

1 chatgpt 简介 ChatGPT是一种语言模型,它被训练来对对话进行建模。它能够通过学习和理解人类语言来进行对话,并能够生成适当的响应。ChatGPT使用了一种叫做Transformer的神经网络架构,这是一种用于处理序列数据的模型,能够在输入…

Java System类

JavaSystem类\huge{Java \space System类}Java System类 System类概述 简而言之:SystemSystemSystem类就是一个工具类,直接调用对应的方法来使用即可,不需要也不能被实例化。 常用方法 ①. exit() 退出Java虚拟机 //执行这个exit(0)代码之…

[附源码]计算机毕业设计的花店售卖系统的设计与实现Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

GPU——占用情况和进程情况的参数解读表

GPU——占用情况和进程情况的参数解读表一、GPU占用情况二、GPU的进程情况参考资料一、GPU占用情况 名称功能说明Fan风扇转速在0 (%) 到100 (%) 之间变动Temp摄氏温度CPerf性能状态从P0到P12,P0表示最大性能,P12表示状态最小性能Persistence-M持续模式的…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.2 流控模式【关联】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.2 流控模式【关联】31.2.1 流控模式31.2.2 流控模式 - 关联31.2.3 小结31 限流规则…