【转载】【WinAPI】LockWindowUpdate的函数的用法
2024-09-08 13:34:33
DelPhi LockWindowUpdate的函数的用法
Application.ProcessMessages;
LockWindowUpdate(Self.Handle); //锁住当前窗口
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);
最新文章
- 【Java并发编程实战】-----“J.U.C”:ReentrantLock之二lock方法分析
- python-tab还是space?
- Bestcoder round #65 &;&; hdu 5592 ZYB's Premutation 线段树
- java生成竖排文字图片
- 探秘空值位图掩码(NULL bitmap mask)
- imread() not working in OpenCV 2.4.11 Debug mode
- LightOJ 1141 Program E
- 查看Linux系统版本信息
- 配置SQL Server 2008 R2 Reporting Services
- C#转换日期类型
- Angularjs总结(三)摸态框的使用
- XCode请求数据中接收类型的后台与前台处理(本机模拟)
- Python读取Yaml文件
- C# 计算字符串/文件的哈希值(MD5、SHA)
- 正则表达式:reg.test is not a function
- 2017多校第9场 HDU 6169 Senior PanⅡ 数论,DP,爆搜
- JavaScript中对象数组 根据某个属性值 然后push到新的数组
- jQUERY中的属性获取
- java 爬坑记-@WebServlet异步 不支持@Autowired
- codeforces618B
热门文章
- H3C交换机配置DHCP服务器
- SQL抽象语法树及改写场景应用
- win7升级到win10系统后,node13升级为node16,node版本node-sass版本与不匹配,导致出现npm ERR! ERESOLVE could not resolve
- SpringBoot-JavaMailSender接口实战
- vue2使用组件进行父子互相传值的sync语法糖方法和原生方法
- 解决springboot+vue+mybatis中,将后台数据分页显示在前台,并且根据页码自动跳转对应页码信息
- 我要手撕mybatis源码
- 1.-Django项目结构
- 分布式事务框架 Seata 入门案例
- Ajax(下)