社区
Delphi
帖子详情
■●◆控件的paint,repaint,refresh,Update方法有什么不同吗?不同情况下应该如何调用?
visualcdotnet
2007-05-11 04:20:18
rt
...全文
345
2
打赏
收藏
■●◆控件的paint,repaint,refresh,Update方法有什么不同吗?不同情况下应该如何调用?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cloudtarget
2007-05-11
打赏
举报
回复
Refresh和Repaint是一样的,它只是简单地调用了Repaint.
Update会导致整个窗口(对于没有窗口的TGraphicControl来说,就是它的父控件的窗口)立即处理WM_PAINT消息,即重画应该画的部分.
Invalidate使控件所在窗口的控件客户区域(对于TWinControl来说就是它的客户区域,对于TGraphicControl来说就是它的父控件的窗口在它的区域范围内的部分)失效,从而产生一个WM_PAINT消息,但并不马上重绘,直到其它消息处理完或遇到一个Update的调用.
Repaint是立即重绘该控件,在TWinControl中其实就是调用了Invalidate和Update,在TGraphiControl中分不同情况作了不同处理,逻辑稍复杂一些,但功能是一样的.
refresh是刷新(只需要重画的区域) , repaint是重画所有区域。用API函数:InvalidateRect或InvalidateRgn,指定一个区域用refresh刷新而不对整个图刷新
Red_angelX
2007-05-11
打赏
举报
回复
关注学习下
Invalidate,
Re
paint
,
Update
,
Refresh
区别
Refresh
和
Re
paint
是一样的,它只是简单地
调用
了
Re
paint
.
Update
会导致整个窗口(对于没有窗口的TGraphicControl来说,就是它的父
控件
的窗口)立即处理WM_
PAINT
消息,即重画
应该
画的部分. Invalidate使
控件
所在窗口的
控件
客户区域(对于TWinControl来说就是它的客户区域,对于TGraphicControl来说就是它的父
控件
的窗口在它的区
Qt重绘之
update
,
re
paint
详解
Qt重绘之
update
,
re
paint
详解
Invalidate与
Re
paint
、
Paint
不同
之处
Invalidate与
Re
paint
不同
之处
Invalidate,
Re
paint
,
Update
,
Refresh
之間的區別
Refresh
和
Re
paint
是一样的,它只是简单地
调用
了
Re
paint
.
Update
会导致整个窗口(对于没有窗口的TGraphicControl来说,就是它的父
控件
的窗口)立即处理WM_
PAINT
消息,即重画
应该
画的部分.Invalidate使
控件
所在窗口的
控件
客户区域(对于TWinControl来说就是它的客户区域,对于TGraphicControl来说就是它的父
控件
的窗口在它的区域范围内的部...
C# WinForm窗体
控件
Control 的 Invalidate、
Update
、
Refresh
的区别
Control.
Refresh
- does an Control.Invalidate followed by Control.
Update
.
Refresh
: 强制
控件
使其工作区无效并立即重绘自己和任何子
控件
。== Invalidate
Update
Control.Invalidate - invalidates a specific region of the Control...
Delphi
5,930
社区成员
262,938
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章