界面上一Picture控件,里面的图片是动态加载的,怎么界面一最小化后再回复,图片就没了,另外,我式着用其他窗口遮住这个图片一部分,发现挪开后,备遮住部分图片也没了,好像没重绘.里面部分加载图片代码
            // 设置状态图片
            CBitmap objBitmap;
            objBitmap.LoadBitmap(IDB_BITMAP_START);
            HBITMAP hbitmap=(HBITMAP)objBitmap;            m_Static_state.SetBitmap(hbitmap);最小化之前是能正常显示的

解决方案 »

  1.   

    窗体刷新时被擦掉了, 需要重画在 DefWindowProc 里面 响应消息WM_ERASEBKGND, 重画图片
    LRESULT CXXXDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
    {
      if(message == WM_ERASEBKGND) DrawPic();
    ...
      

  2.   

    重新绘制
    但是重新绘制的时候你要考虑到你动态加载的图片,
    所以说
    m_Static_state.SetBitmap(hbitmap);
    这里的hbitmap最好是成员变量
      

  3.   

    在重绘事件中加入贴图代码
    ondraw 或者是onpaint中
      

  4.   

    CBitmap objBitmap;
                objBitmap.LoadBitmap(IDB_BITMAP_START);
                HBITMAP hbitmap=(HBITMAP)objBitmap;            m_Static_state.SetBitmap(objBitmap.Detach());
    或者,把这个objBitmap改成成员变量。
      

  5.   

    可以在ompaint()或者在ondraw()函数中重写你的源代码