Delphi Invalidate的用法
1、Invalidate介绍 void Invalidate( BOOL bErase = TRUE );
该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。
2、与UpdateWindow( )的区别
UpdateWindow( )的作用是使窗口立即重绘。调用Invalidate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。调用UpdateWindow函数可使WM_PAINT被直接发送到目标窗口,从而导致窗口立即重绘。
Delphi中的代码
procedure TWinControl.Invalidate;
begin
Perform(CM_INVALIDATE, 0, 0);
end;
这个方法会使窗口重绘。
转载于:https://www.cnblogs.com/simba/archive/2011/10/11/2207357.html
Delphi Invalidate的用法相关推荐
- delphi FillChar的用法(转)
delphi FillChar的用法(转) (2012-12-24 15:12:06) 转载▼ 标签: it 分类: delphi7 FillChar的用法(delphi) Fillchar是Turb ...
- Delphi WinExec ShellExec 用法介绍
2019独角兽企业重金招聘Python工程师标准>>> Delphi WinExec ShellExec 用法介绍 在Windows程序设计中WinAPI也为我们提供了类似的函数,它 ...
- [Delphi]ListView基本用法大全
Delphi ListView基本用法大全 //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; L ...
- Delphi中Messagedlg用法
Delphi中Messagedlg用法 if MessageDlg('即将退出,是否继续?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin ...
- Delphi ListView基本用法大全
Delphi ListView基本用法大全 //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; L ...
- Delphi ListView的用法(常用技巧) 作者:蓝色忧郁
Delphi ListView的用法(常用技巧) 作者:蓝色忧郁 日期:2006-08-10 字体大小: 小 中 大 //增加 i := ListView1.Items.Count; with ...
- Delphi常用关键字用法详解
本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: [delphi] view plaincopy //它使得你能够创建一个新变量, ...
- Delphi ShellExecute的用法
请在interface处uses句中加入ShellAPI 有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess. 1.CreateProcess因为使 ...
- delphi webbrowser 经常用法演示样例
var Form : IHTMLFormElement ;D:IHTMLDocument2 ; beginwith WebBrowser1 do beginD := Document as IHTML ...
- Delphi format的用法
Format是一个很常用,却又似乎很烦的方法,找到一些资料,以供查询之用. 首先看它的声明: function Format(const Format: string; const Args: arr ...
最新文章
- C++:随笔7---运算符重载
- linux resin mysql_Linux下Resin JSP MySQL的安装和配置-2
- cdi name 日志_CDI 2.0更新
- linux结束ping进程,linux常用命令
- 利用Jquery处理跨域请求
- html+radio设置背景图片,jquery – 用单选按钮更改背景图像
- win8计算机安全模式,WIN8如何设置按F8进入安全模式
- java returnaddress,JVM之数据类型
- Redis学习---(3)Redis 配置
- HDU3954 线段树(区间更新 + 点更新)
- GPS原始坐标转百度地图坐标(纯C代码)
- android 如何把.swf作为开机动画,win10系统将PPT幻灯片转为SWF动画的操作方法
- 什么是机器学习?机器学习的工作原理是什么?
- 表单获取焦点和失去焦点
- Android 前置摄像头强制关闭镜像预览
- 把一个人的特点写具体作文_五年级把一个人的特点写具体作文500字5篇
- FPGA笔记之verilog语言(基础语法篇)
- 记一次拉去代码失败的解决过程Permission denied, please try again. git@code.odrcloud.cn: Permission denied
- 通过使用SPSS独立样本T检验,分析两组个案的差异(下)
- vue2项目之async/await 处理 promis