我在一个函数中显示了图片,但是当切换窗口后图片就没有了,那个图片是动态加载的,请问怎么能让图片保持住。另外我想读出图片每个点的数据,如何做

解决方案 »

  1.   

    要让它保持住你就得不停的显示图片,
    否则,一旦被其它窗口挡住后,因为没有再次重绘,它肯定就没有了方法有二,一是让你的图片按一定的频率来显示
    二是,当可见是重新绘一次.GetPixel()
      

  2.   

    我记得在edit里使用settext那个edit就记住了,另外读每个点的数据是从文件里读出的,不想从屏幕上读
      

  3.   

    我记得在edit里使用settext那个edit就记住了
    ------------------------------------------
    因为Edit Box内部就是在不停的重绘的,只是重绘同一个内容,所以看起来是记住了
      

  4.   

    myStatic.ModifyStyle(0, SS_BITMAP|SS_CENTERIMAGE );myStatic.SetBitmap( ::LoadBitmap(NULL, MAKEINTRESOURCE(OBM_CHECK)) );
      

  5.   

    如果图片不是资源就这样用
    CStatic* pWnd = (CStatic*)GetDlgItem(IDC_STATIC);
     pWnd->ModifyStyle(0, SS_BITMAP);
     pWnd->SetBitmap((HBITMAP)::LoadImage(0,
          "c:\\zzzzz.bmp",
          IMAGE_BITMAP,
          0,0,LR_CREATEDIBSECTION |LR_DEFAULTSIZE |LR_LOADFROMFILE));
      

  6.   

    还有一个问题就是如何获得已经画完的图像,如果用SetPixel的话,当有其他窗口遮挡就会把那个窗口的图像抓过来,请问还有别的方法吗?
      

  7.   

    截获WM_PAINT消息,进行重绘操作