DelPhi LockWindowUpdate的函数的用法

Application.ProcessMessages;
 LockWindowUpdate(Self.Handle); //锁住当前窗口

LockWindowUpdate(0)//解除锁定窗口

LockWindowUpdate不但闪烁,而且有可能引起桌面闪烁。因为LockWindowUpdate并不忽略消息,只是暂时不响应,所以有可能积聚多个重画消息,并在使用LockWindowUpdate(0)之后依次响应。
而使用SendMessage(ClientHandle,WM_SETREDRAW,0,0)之后,控件根本不接收重画消息,除非使用SendMessage(ClientHandle,WM_SETREDRAW,1,0)之后;
LockWindowUpdate的意思是暂时禁止某控件或窗口所在的区域更新(这个区域可能有多个窗口),LockWindowUpdate(0)的意思是有更新消息就更新屏幕上所有该更新的窗口吧。所以LockWindowUpdate(0)之后,若此前有重画消息积聚,会立刻重画。所以使用LockWindowUpdate会在不同的时候有不同的表现,比如屏幕上窗口多少、堆放情况等等,所以有时不闪有时却闪个不停。
SendMessage(ClientHandle,WM_SETREDRAW,0,0)的意思是不接收任何重画消息;
SendMessage(ClientHandle,WM_SETREDRAW,1,0)的意思是可以接收并响应重画消息了,但并不立即重画,所以必须附加 ReDrawWindow(ClientHandle,nil,0,RDW_INVALIDATE or RDW_ALLCHILDREN);

最新文章

  1. 【Java并发编程实战】-----“J.U.C”:ReentrantLock之二lock方法分析
  2. python-tab还是space?
  3. Bestcoder round #65 && hdu 5592 ZYB's Premutation 线段树
  4. java生成竖排文字图片
  5. 探秘空值位图掩码(NULL bitmap mask)
  6. imread() not working in OpenCV 2.4.11 Debug mode
  7. LightOJ 1141 Program E
  8. 查看Linux系统版本信息
  9. 配置SQL Server 2008 R2 Reporting Services
  10. C#转换日期类型
  11. Angularjs总结(三)摸态框的使用
  12. XCode请求数据中接收类型的后台与前台处理(本机模拟)
  13. Python读取Yaml文件
  14. C# 计算字符串/文件的哈希值(MD5、SHA)
  15. 正则表达式:reg.test is not a function
  16. 2017多校第9场 HDU 6169 Senior PanⅡ 数论,DP,爆搜
  17. JavaScript中对象数组 根据某个属性值 然后push到新的数组
  18. jQUERY中的属性获取
  19. java 爬坑记-@WebServlet异步 不支持@Autowired
  20. codeforces618B

热门文章

  1. H3C交换机配置DHCP服务器
  2. SQL抽象语法树及改写场景应用
  3. win7升级到win10系统后,node13升级为node16,node版本node-sass版本与不匹配,导致出现npm ERR! ERESOLVE could not resolve
  4. SpringBoot-JavaMailSender接口实战
  5. vue2使用组件进行父子互相传值的sync语法糖方法和原生方法
  6. 解决springboot+vue+mybatis中,将后台数据分页显示在前台,并且根据页码自动跳转对应页码信息
  7. 我要手撕mybatis源码
  8. 1.-Django项目结构
  9. 分布式事务框架 Seata 入门案例
  10. Ajax(下)