最好给个程序,好像不能用CBitmapButton,不知道怎么办?

解决方案 »

  1.   

    (1) 用MFC AppWizard创建一个默认的单文档应用程序Ex_BMP。
    (2) 按快捷键Ctrl+R,弹出“插入资源”对话框,选择Bitmap资源类型。
    (3) 单击[导入]按钮,出现“导入资源”对话框,将文件类型选择为“所有文件(*.*)”,
    从外部文件中选定一个位图文件,然后单击[Import]按钮,该位图就被调入应用
    程序中。保留默认的位图资源标识IDB_BITMAP1。
    !!!这是教材ppt上面给的步骤,按照它的步骤插入的图片的ID并不是IDB_BITMAP1,而是IDR_AA1,就是以IDR开头的,void CEx_BMPView::OnDraw(CDC* pDC)
    {
    CEx_BMPDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    CBitmap m_bmp;
    m_bmp.LoadBitmap(IDB_BITMAP1); // 调入位图资源
    BITMAP bm; // 定义一个BITMAP结构变量,以便获取位图参数
    m_bmp.GetObject(sizeof(BITMAP),&bm);
    CDC dcMem; // 定义并创建一个内存设备环境
    dcMem.CreateCompatibleDC(pDC);
    CBitmap *pOldbmp = dcMem.SelectObject(&m_bmp);   // 将位图选入内存设备环境中
    pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY);
    // 将位图复制到实际的设备环境中
    dcMem.SelectObject(pOldbmp); // 恢复原来的内存设备环境
    }
      

  2.   

    HBITMAP   hBitmap; 
    hBitmap = LoadBitmap(AfxGetInstanceHandle(),   
    MAKEINTRESOURCE(IDB_BITMAP1)); // IDB_BITMAP_TEST为资源图片ID  
    ((CButton *)GetDlgItem(IDC_BUTTON1))->SetBitmap(hBitmap); 最后一步我经常也好忘记那就是吧按钮的bitmap属性改成true,这个我试过了,是可以的,希望可以帮到你,
      

  3.   

    怎么会不能,我的开发工具VC6.0,VC2008,VS2005,VS2010都能设置,