高分请教,编译时没错误,但运行时在SetBitmap(hBitmap)出错(非法操作),如何解决?CStatic * pSat = (CStatic*)GetDlgItem(IDC_STATIC);
    HBITMAP hBitmap = ::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP2));
pSat->SetBitmap(hBitmap);(这一步运行时会出错)

解决方案 »

  1.   

    将CStatic控件的Type属性改称Bitmap.
    然后最好将IDC_STATIC换个名字
      

  2.   

    主要不能使用默认的IDC_STATIC
    呵呵,不存在图形属性一说!
      

  3.   

    CStatic * pSat = (CStatic*)GetDlgItem(IDC_STATIC);
    pSat->ModifyStyle(0,SS_BITMAP|SS_CENTERIMAGE);
        HBITMAP hBitmap = ::LoadBitmap(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
    pSat->SetBitmap(hBitmap);如果你的dlg上有几个IDC_STATIC(这个可能会重复),就改一下名字
      

  4.   

    没有判断 pSat 是否为 NULL 导致。