在vc++中 OnDraw()函数和 Invalidate()函数起什么作用

 我来答
测绘地理信息
推荐于2016-08-15 · TA获得超过2204个赞
知道小有建树答主
回答量:516
采纳率:100%
帮助的人:467万
展开全部
OnDraw()函数每当窗口发生重绘时就会执行,它其实跟消息处理函数OnPaint()差不多。当在View类里添加了消息处理函数OnPaint()时,OnPaint()就会覆盖掉OnDraw()。Invalidate()是使视图类窗口无效的函数,当要刷新视图时,就可以掉用它,以便发送一个WM_PAINT消息引起窗口的重绘。它有一个默认的参数TRUE,即Invalidate(TRUE)。
朴清懿01Z
2008-06-05 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
可以这样理解
Invalidate(TRUE)函数可以调用OnDraw ()函数;

所以当画图参数改变,你又想更新视图时,就可以使用Invalidate(TRUE)了。
有个前提,必须是绘图命令在OnDraw ()中直接或间接完成的。因为我们可以在很多其他函数中创建DC以实现画图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友deebd4e0e
2008-06-05 · TA获得超过1462个赞
知道小有建树答主
回答量:1163
采纳率:0%
帮助的人:1232万
展开全部
vc++?是mfc吧?
看函数名应该是事件响应函数。就是说,你把你自己写的函数注册给这个函数,它会在该事件发生的时候调用你注册的函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风轻云度
2008-06-05 · TA获得超过1423个赞
知道大有可为答主
回答量:1835
采纳率:0%
帮助的人:0
展开全部
OnDraw 负责画,如果要在设备对象上画东西,在这个函数里面。

Invalidate是通知视图重新绘制,也就是调用OnDraw
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
S0746
2008-06-07 · TA获得超过118个赞
知道答主
回答量:125
采纳率:0%
帮助的人:49.1万
展开全部
Invalidate会产生一个WM_PAINT消息
WM_PAINT消息会调用OnDraw函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式