OnPaint中的代码,放到另一个函数中为什么就不能显示,在OnPaint 中就可以显示,为什么同样的代码放到另一个函数中调用后就不会显示

解决方案 »

  1.   

    是没用通过OnPaint()调用,有什么区别吗?写到别的函数中,通过OnPaint调用是不是就可以
      

  2.   

    你的意思是被OnPaint给刷新画掉了吗!但是OnPaint中什么都没有,什么都没有就是表示要把以前有的也要给抹掉吗
      

  3.   

    OnPaint中的代码,放到另一个函数中为什么就不能显示,在OnPaint 中就可以显示,为什么同样的代码放到另一个函数中调用后就不会显示
    ---------
    OnPaint中你调用哪个函数了吗?
      

  4.   

    楼主什么意思?是不是说在OnPaint()中实现的功能如果写在其他函数中就不能实现了?如果是这样的话有两种可能,一是你放在的那个函数是没有被调用的,一是(我想你的要实现的功能应该是画个图形出来),运行程序后,在窗口显示时会调用OnPaint()函数来重绘,本来你在其他函数的那段代码是可以画出一图形的(在窗口显示之前它好像是已经画出来了的),可是在OnPaint()的调用下就被刷没了呗。所以你要想绘图的话你最好放在OnPaint()中。OnDraw()也行。
      

  5.   

    DC不对,OnPaint里面是PAINTSTRUCT的DC,是WM_PAINT消息专用的。代码放到别的地方要用GetDC获取的DC
      

  6.   

    最好发送WM_PAINT消息...消息...息...息...
      

  7.   

    直接调用OnPaint也可以,不过在OnPaint中必须自己GetDC而不能用BeginPaint.
      

  8.   

    OnPaint中的代码,放到另一个函数中为什么就不能显示,因为另一个函数的要画的内容会被重新绘制,所以就看不到效果
      

  9.   

    怎么会把OnPaint中的代码拿到别的地方
    你要实现什么需求
    这种操作不合理啊
      

  10.   

    OnPaint通常用来画背景的,在消息队列中没有消息时,窗口大小或位置的改变都要引起重画,你可以设置invalidate(false)强制窗口在需要的地方重画,或者在ON_EARASEBACKGND(好像是这个)中画背景,onDraw和其他事件消息的绘图通常用来画前景!
      

  11.   

    没明白楼主什么意思,如果你是要在别的方法中画图并显示出来,那可以用CClientDC dc(this),然后画到dc上就可以在窗口客户区显示出来。最好看看你的代码是什么要求。
      

  12.   

    你把OnPaint 代码拷到 LButtonDown 里的时候 给OnPaint里面注释掉。然后点击的时候 刷新下窗口 好了。