关于提高重绘效率的一些问题

lucyking 2006-02-20 03:24:02
请问Invalidate()函数是不是重绘的客户区?在客户区域之外的部分也会去重绘么?(我的程序画了8000行图形,在屏幕显示上大概只有20行左右,他是只画20行还是8000行全部重绘了?)
使用InvalidateRect()函数是不是也要修改OnDraw()函数使他重绘部分只是那个剪裁区域?(我只把整个客户区域重绘有效果么?重绘整个客户区域比较简单^-^不用计算)
之前我没有修改OnDraw函数但是在用Invalidate()的地方也使用过InvalidateRect()函数替换,但是好像没有效果.
...全文
47 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
huwei001982 2006-02-20
  • 打赏
  • 举报
回复
使用 InvalidateRect

OnDraw也要改, 先调用 GetClipBox 获得无效区, 然后只画这一部分的数据

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧