我现在在基于对话框的应用程序中的一个静态控件中绘图,例如Picture控件,现在的问题是图已经画上去了.但是当我的应用程序从后台切换到前台时,图形不见了,当我从新拖动窗口时,图形又出现了.我已经在OnPaint()事件里重画这个图形了.但好象OnPaint()事件对应用程序从后台切换到前台不起作用,这是怎么回事?

解决方案 »

  1.   

    CStatic  m_Static_Picture
    HBITMAP m_hbitmap = Loadimage(.........)
    m_Static_Picture.SetBitmap(m_hbitmap);
      

  2.   

    那就添加WM_ACTIVEAPP消息的处理函数,在其中调用OnPaint()试试
      

  3.   

    在对话框应用程序中好像没有WM_ACTIVEAPP这样的消息吧?
      

  4.   

    static control的属性不对吧?
    如果是静态图像,要设置SS_BITMAP, SS_ICON, or SS_ENHMETAFILE属性。
    如果是OwnerDraw的,则要设置SS_OWNERDRAW属性并处理它的WM_DRAWITEM消息。