未调用 CScrollView OnDraw

Posted

技术标签:

【中文标题】未调用 CScrollView OnDraw【英文标题】:CScrollView OnDraw not called 【发布时间】:2012-12-26 12:30:11 【问题描述】:

我有一个派生自 CScrollView 的类,并且我继承了 OnDraw 方法。除非我调整大小,否则不会调用 OnDraw 方法。是否需要设置任何特殊属性或以任何方式触发 OnDraw 方法而无需调整大小?

【问题讨论】:

【参考方案1】:

您需要两个函数调用。 1) 无效或无效矩形 2) 更新窗口

Invalidate 函数会将您的整个视图标记为需要更新(重绘) InvalidateRect 可用于将视图的一部分标记为需要更新。

调用更新窗口后,如果您之前调用了 Invalidate,则整个视图都会更新,或者如果您之前对 InvalidateRect 进行过一次或多次调用,则会重绘窗口的所有标记部分。

【讨论】:

我尝试了 invalidateRect 和 UpdateWindow。仍然不会调用 OnDraw 方法。它仅在 Resize 发生时调用。

以上是关于未调用 CScrollView OnDraw的主要内容,如果未能解决你的问题,请参考以下文章

对话框上添加打印预览和打印

使用 CHtmlView

MFC中的一些视图

MFC 中 OnPaint() 函数的使用

未完全加载单元格时未调用 didSelectItemAtIndexPath

数据流 - 未调用函数 - 错误 - 未定义名称