sdi视图MFC中的重绘区域(区域)
我想问你一个关于SDI MFC应用的问题。 如何在 SDI MFC 应用程序中重新绘制视图上的某些区域(区域),但不重新绘制整个视图?
I want to ask you one question about SDI MFC application.
How can I repaint some area (region) on the view in SDI MFC application but without repaint complete view?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 ::InvalidateRect() 和/或 CWnd::InvalidateRect()。
Use ::InvalidateRect() and/or CWnd::InvalidateRect().
看一下 Invalidate 功能。您可以使矩形、区域或 while 窗口无效。
无效区域将使用下一个 WM_PAINT 消息重新绘制。在 OnPaint() 方法中,您可以从 CDC 对象查询剪切区域。如果相关对象不在区域/矩形内,则可以跳过绘制它。
Have a look at the Invalidate functionality. You can invalidate a rectangle, a region or the while window.
An invalidated region will be repainted with the next WM_PAINT message. In your OnPaint() method you can query the clipping region from the CDC object. If the object in question is not withing the region/rectangle, you can skip drawing it.