请教关于DrawItem和OnPaint函数的问题

palship 2002-11-12 11:04:40
我尝试在DrawItem和OnPaint函数中设置断点,发现应用程序不停的调用这两个函数.
这是不是说在程序运行的时候,这两个函数被不停的调用,也就是说,如果把大量的代码放入这两个函数中,将严重影响程序的运行性能?
...全文
199 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonespace 2002-11-12
  • 打赏
  • 举报
回复
程序只有在需要的时候才调用DrawItem和OnPaint函数,你设置断点发现总是停在这些函数中,只是一个错觉。

只有窗口需要重画的时候才调用DrawItem和OnPaint函数,如果你已经停在OnPaint函数中,此时VC界面在最前面,VC执行go的时候,要切换到程序中,windows发现vc档在前面,所以认为需要重画,发出WM_PAINT,又进入OnPaint停下。所以如果OnPaint函数中有断点,给人一种无论如何都出不去的错觉。事实上,对OnPaint函数调用并非那么频繁。

如果你想知道OnPaint函数调用的频率,你可以用spy++看每秒钟窗口接收到多少个WM_PAINT消息。

19,468

社区成员

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

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