MFC中什么时候调用OnDraw()函数?

是不是和Invalidate()、ReDisplay()这两个函数有关?

MFC调用OnDraw()函数是和所有会产生WM_PAINT消息的函数有关,Invalidate()、ReDisplay() 调用时会产生WM_PAINT消息,所以也会使用MFC调用onDraw()函数
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-08
基类调用
例如 OnPaint调它:

CPaintDc dc(this);
onDarw(&dc);

或别的地方:
CDC dc;
onDarw(&dc);
第2个回答  2019-03-05
ondraw函数不用自己调用,当窗口需要重新绘制,系统会自动调。
如果自己想重新绘制,可以调用invalidate、invalidaterect或者updatewindow等函数,引起绘制即可。

MFC中什么时候调用OnDraw()函数?
MFC调用OnDraw()函数是和所有会产生WM_PAINT消息的函数有关,Invalidate()、ReDisplay() 调用时会产生WM_PAINT消息,所以也会使用MFC调用onDraw()函数

C++ MFC的问题
OnDraw是重绘窗口时执行,类似刷新,所以视图发生变化时就会调用。OnKeyDown是键盘按键按下时执行。同学,你怎么点赞同不点采纳呢。。。

有关MFC的窗口重绘函数OnDraw的问题,到现在都还没有搞明白,求高手帮忙...
OnDraw是窗口产生了重绘之后才会被调用 。重绘是窗口产生了无效区域之后触发,比如窗口被遮挡又解除时,windows自动触发无效区域(并带上擦除标记),然后发送WM_PAINT消息,MFC封装处理此消息并调用OnDraw虚函数。BeginPaint时若区域有擦除标记会触发WM_NCPAINT and WM_ERASEBKGND重绘无效区的窗口背景(在On...

MFC中ONPAINT、ONDRAW、ONERASEBKGND等绘图函数的使用场合和作用、区...
OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图...

请问MFC中的OnDraw()函数在哪里啊? 没找到,自己该怎么创建??? 帮帮...
1、使用向导创建一个基于单文档视图的应用程序,视图的基类选择CView。2、在工程的Class视图的CXXXXView类中会发现OnDraw函数。双击它,就自动定位到函数体了。

怎样协调好MFC中ondraw与ontimer的关系
OnTimer 是定时器函数,根据需要可以写入刷屏代码,如果时间间隔比较小的话 会有闪烁,OnDraw 函数在系统将要显示时调用,但也可在类的其他函数中调用使窗口无效的函数(如invalidate),也可以引发重绘。具体调用几次根据你的代码设置更新即可。另外窗口被覆盖或无效然后重新显示时可自动引发重绘。

在mfc中,如何通过对话框中的控件调用OnDraw()函数?
ondraw有很多的消息都可以触发,你可以自定义一个函数,函数让ondraw调用,给一个变量来标识是否允许自定义函数执行,比如 void Fun { if(flag){ \/\/do something } } 你自己控制flag来实现你的要求

MFC中ondraw是个什么函数
用来屏幕显示、打印、打印预览文档内容,可以响应WM_PAINT消息

MFC中的Invalidate、OnDraw、OnPaint函数的作用、区别和联系?
MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。二、与UpdateWindow( )的区别 UpdateWindow( )的作用是使窗口...

mfc对话框中能否使用OnDraw等函数
可以的,要用绘制,还要注意在背景之后绘,否则会被遮住 代码:CDC *p=this->GetDC();CPen pen;p->SetBkMode(TRANSPARENT);p->TextOut(rect.left,rect.top,"需绘制的文字"); \/\/输出文字 不一定要在OnDraw函数里绘制,随便什么函数都可以,但是要和背景绘制的顺序确定好,防止被遮住 ...

相似回答