不要在OnPaint()中使用Invalidate()来刷新窗口
2013-12-23 00:38
351 查看
我从CEdit类派生了一个子类CMyEidt,然后在CMyEidt::OnPaint()中绘图,并使用了Invalidate()来使编辑框进行重绘。但却导致CPU的占用率很高,并且,如何没有采用双缓冲机制,图片还会不停的闪烁。如下图
注释掉Invalidate()后CPU占用恢复正常:
但是我在主对话框中调用Invalidate()却不会导致CPU出现这种情况,这是为什么?
不知道为什么会这样。。
最好不要在OnPaint()中使用Invalidate()。Invalidate()会使用窗口发生重绘
不要在OnPaint()中进行一些会占用软多CPU资源的操作,如打开文件,可以把这些操作放到InitXX()中。
作者:http://blog.csdn.net/lp310018931
注释掉Invalidate()后CPU占用恢复正常:
但是我在主对话框中调用Invalidate()却不会导致CPU出现这种情况,这是为什么?
不知道为什么会这样。。
最好不要在OnPaint()中使用Invalidate()。Invalidate()会使用窗口发生重绘
不要在OnPaint()中进行一些会占用软多CPU资源的操作,如打开文件,可以把这些操作放到InitXX()中。
作者:http://blog.csdn.net/lp310018931
相关文章推荐
- 窗口刷新 Invalidate UpdateWindow RedrawWindow
- Android之界面刷新(invalidate和postInvalidate使用)
- 委托的使用(关闭非模式窗口后刷新主窗口)
- 使用showModalDialog打开模态窗口添加数据后刷新原窗口
- 对话框窗口不刷新,不进入OnPaint(不进WM_PAINT)
- 刷新界面:invalidate()和postInvalidate() 的区别及使用
- Android笔记:invalidate()和postInvalidate() 的区别及使用——刷新ui
- Android 刷新UI界面:invalidate()和postInvalidate() 的区别及使用
- 使用showModalDialog打开模态窗口添加数据后刷新原窗口 .
- VC++MFC中在初始化窗口过程中不要过早使用GetWindowRect
- 刷新View视图的两种方法—invalidate()和postInvalidate()的区别和使用详解
- 窗口刷新 Invalidate UpdateWindow RedrawWindow
- Android之界面刷新(invalidate和postInvalidate使用)
- 使用onbeforeunload事件检测窗口是否刷新或关闭 .
- 透明按钮背景不刷新【不使用父窗口背景刷新】
- 使用showModalDialog打开模态窗口添加数据后刷新原窗口
- 使用js弹出模态窗口,提交保存数据后关闭模态窗口,刷新父窗口
- 使用JS刷新showModalDialog窗口,JS刷新模式对话框
- 使用onbeforeunload事件检测窗口是否刷新或关闭
- Android之界面刷新(invalidate和postInvalidate使用)