我建立了一个居于对话框的应用程序:
然后用资源编辑器在上面添了一个图像控件IDS_STATIC1,并把它的属性设为位图;
然后让它跟一个CStatic相联系,相关联的变量为:m_static1;
然后我在对话框的OnInitDialog()函数里面添加:
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
m_static1.ModifyStyle(0, SS_BITMAP|SS_CENTERIMAGE);
m_static1.SetBitmap((HBITMAP)bitmap.GetSafeHandle());   
但是为什么这个控件的背景没有变成图片啊??

解决方案 »

  1.   

    绑定 别的类吧 好象有个叫 CImage 或 CPicture 的类 也可能没有其实最好的是你自己重画
      

  2.   

    bitmap是局部变量。m_static1.SetBitmap((HBITMAP)bitmap.Detach()); 
    试试
      

  3.   

    楼上正解.
    不能是局部变量,可以按楼上的做,或者将bitmap声明为类变量.
    直接使用 HBITMAP hbmp = ::LoadImage(....);也行.总之要得到gdi句柄,它不同于局部变量,
    会保持下去,直到你删除为止.