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的用法相关推荐

  1. delphi FillChar的用法(转)

    delphi FillChar的用法(转) (2012-12-24 15:12:06) 转载▼ 标签: it 分类: delphi7 FillChar的用法(delphi) Fillchar是Turb ...

  2. Delphi WinExec ShellExec 用法介绍

    2019独角兽企业重金招聘Python工程师标准>>> Delphi WinExec ShellExec 用法介绍 在Windows程序设计中WinAPI也为我们提供了类似的函数,它 ...

  3. [Delphi]ListView基本用法大全

    Delphi ListView基本用法大全 //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; L ...

  4. Delphi中Messagedlg用法

    Delphi中Messagedlg用法 if MessageDlg('即将退出,是否继续?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin ...

  5. Delphi ListView基本用法大全

    Delphi ListView基本用法大全 //增加项或列(字段) ListView1.Clear; ListView1.Columns.Clear; ListView1.Columns.Add; L ...

  6. Delphi ListView的用法(常用技巧) 作者:蓝色忧郁

    Delphi ListView的用法(常用技巧) 作者:蓝色忧郁 日期:2006-08-10 字体大小: 小 中 大 //增加   i := ListView1.Items.Count;   with ...

  7. Delphi常用关键字用法详解

    本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: [delphi] view plaincopy //它使得你能够创建一个新变量, ...

  8. Delphi ShellExecute的用法

    请在interface处uses句中加入ShellAPI 有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess. 1.CreateProcess因为使 ...

  9. delphi webbrowser 经常用法演示样例

    var Form : IHTMLFormElement ;D:IHTMLDocument2 ; beginwith WebBrowser1 do beginD := Document as IHTML ...

  10. Delphi format的用法

    Format是一个很常用,却又似乎很烦的方法,找到一些资料,以供查询之用. 首先看它的声明: function Format(const Format: string; const Args: arr ...

最新文章

  1. C++:随笔7---运算符重载
  2. linux resin mysql_Linux下Resin JSP MySQL的安装和配置-2
  3. cdi name 日志_CDI 2.0更新
  4. linux结束ping进程,linux常用命令
  5. 利用Jquery处理跨域请求
  6. html+radio设置背景图片,jquery – 用单选按钮更改背景图像
  7. win8计算机安全模式,WIN8如何设置按F8进入安全模式
  8. java returnaddress,JVM之数据类型
  9. Redis学习---(3)Redis 配置
  10. HDU3954 线段树(区间更新 + 点更新)
  11. GPS原始坐标转百度地图坐标(纯C代码)
  12. android 如何把.swf作为开机动画,win10系统将PPT幻灯片转为SWF动画的操作方法
  13. 什么是机器学习?机器学习的工作原理是什么?
  14. 表单获取焦点和失去焦点
  15. Android 前置摄像头强制关闭镜像预览
  16. 把一个人的特点写具体作文_五年级把一个人的特点写具体作文500字5篇
  17. FPGA笔记之verilog语言(基础语法篇)
  18. 记一次拉去代码失败的解决过程Permission denied, please try again. git@code.odrcloud.cn: Permission denied
  19. 通过使用SPSS独立样本T检验,分析两组个案的差异(下)
  20. vue2项目之async/await 处理 promis

热门文章

  1. 比较各种SpA分类标准
  2. 售前十年,两种人生,多重感悟!
  3. 校招毁约污点公司名录.pdf
  4. Swagger 3.0 官方 starter 诞生,野生的可以扔了!
  5. 你们要的Windows IDEA 快捷键终极大全,速度收藏!
  6. try catch 处理异常太烦人了,我已经不用了
  7. 程序员该如何选择工作以及如何做好职业规划?
  8. 狂砸250多亿!亚马逊花了7年时间,造了一个让你自愿加班到死的办公室!
  9. 5 月编程语言排行榜:Java第一,R 跌出Top20,Python成最大赢家
  10. python基础之模块初识