关于MFC 的重画机制 求大神解答 在线等 求救
我的OnDraw函数中有一个变量intcontrol当是1的时候用textout输出了几行文字,当是0的时候什么都不画。在view的构造函数中设置control为1,自然...
我的OnDraw 函数中有一个变量int control 当是1的时候 用textout输出了几行文字,
当是0的时候什么都不画。在view的构造函数中设置control为1,自然就输出了几行文字,我在程序中使得control为0,调用Invalidate(TRUE); UpdateWindow(); 后客户区应该是空白啊,但是还有之前的几行文字,我试过在当control为0的时候在之前那几行文字下边画一个圆,圆能显示出来,我猜测是之前的文字挡住了客户区的空白,但是怎么把这个挡住的文字给去了呢…… 展开
当是0的时候什么都不画。在view的构造函数中设置control为1,自然就输出了几行文字,我在程序中使得control为0,调用Invalidate(TRUE); UpdateWindow(); 后客户区应该是空白啊,但是还有之前的几行文字,我试过在当control为0的时候在之前那几行文字下边画一个圆,圆能显示出来,我猜测是之前的文字挡住了客户区的空白,但是怎么把这个挡住的文字给去了呢…… 展开
展开全部
首先,MFC但文档的工程,系统会带一个这样的 OnDraw(CDC* pDC)
你确定你写的OnDraw没有覆盖掉系统的。
另外,你可以在OnDrow函数的开头MessageBox或者其他方式输出一下,看Invalidate之后该函数是否被调用到了。
如果都调用到了,再检查OnDrow里面的逻辑是否正确的
你确定你写的OnDraw没有覆盖掉系统的。
另外,你可以在OnDrow函数的开头MessageBox或者其他方式输出一下,看Invalidate之后该函数是否被调用到了。
如果都调用到了,再检查OnDrow里面的逻辑是否正确的
更多追问追答
追问
我就是在原来的OnDrow里面改的
我试过了 MessageBox 调用到了 就是前一次的背景一直覆盖着 重新画之前想擦了原来的背景
追答
那你是直接把 CDC* pDC 参数改成int型了?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询