首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

onPaint 函数里头 调用一个画图函数,导致界面不断地刷新

2012-08-31 
onPaint 函数里面 调用一个画图函数,导致界面不断地刷新onpaint的函数里面,已经初始化坐标变换,窗体大小等

onPaint 函数里面 调用一个画图函数,导致界面不断地刷新
onpaint的函数里面,已经初始化坐标变换,窗体大小等等,我定义的画图函数就是画一个界面的横纵坐标刻度,所以我要在onpaint的函数里面,调用pDC 变量,但是一直进行死循环,不断刷新。。。。
望各位大神出手。。。我的画图函数必须要放在onpaint函数里面,怎么解决这个问题?


[解决办法]
画图函数中不能调用 Invalidate 或 InvalidateRect,因为这个会触发 OnPaint,就进入死循环。
[解决办法]
画图函数中不能调用 Invalidate 或 InvalidateRect,因为这个会触发 OnPaint,就进入死循环。
[解决办法]
不必在onpaint里画的,每次刷新都会调有onpaint函数,你可以在onsize()中写这个函数,当窗口大小发生变化时,会刷新
也可以用这个OnEraseBkgnd(CDC* pDC) 

还有个“位图缓存‘的概念可以消除闪烁你可以在网上查一下;
[解决办法]
贴点关键代码出来看看
[解决办法]
建议看MFC框架。。。
[解决办法]
pDC
memDC
双缓存画图吧
[解决办法]
你是不是这个意思
http://blog.csdn.net/xianglitian/article/details/6100767
[解决办法]
在mfc的****view中添加OnEraseBkgnd函数,在里面更新就ok
[解决办法]
加标志位?你要画的时候置为TRUE,在Paint函数中画完就置为FALSE。它会自己调用一次的。
[解决办法]
画图函数一般是要放在OnPaint里面的,不过我觉得这个不是原因。
[解决办法]
一样能拿到pDC的,不用纠结于OnPaint里面。
CPaintdc(this);
CDC * dc = GetDC();

这样你控制起来可能方便许多了
[解决办法]
把你的画图函数贴出来看下
[解决办法]
建议用ST_Curve控件
www.st-curve.cn
[解决办法]
程序结构有问题吧,理解一下OnPaint,Ondraw之类函数的作用及消息响应,重新考虑一下你的程序结构,将你的代码单独做成函数加入到适当位置。

热点排行