mfc引入位图时有错误,菜鸟跪求指点

ly545333574 2012-05-09 10:37:29
class CGoBangView : public CView
{
protected: // create from serialization only
CGoBangView();
DECLARE_DYNCREATE(CGoBangView)

// Attributes
public:
CGoBangDoc* GetDocument();

// Operations
public:
CBitmap bitmap;
CDC BEGIN;

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGoBangView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
//}}AFX_VIRTUAL

// Implementation
public:
virtual ~CGoBangView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
//{{AFX_MSG(CGoBangView)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};



void CGoBangView::OnDraw(CDC* pDC)
{
CGoBangDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
static int i=0;
if(i==0)
{



bitmap=(HBITMAP)LoadImage(NULL,"IDB_BACKGROUND.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);





BEGIN.CreateCompatibleDC(pDC);
BEGIN.SelectObject(bitmap);
i=1;
}
pDC->BitBlt(0,0,119,64,&BEGIN,0,0,SRCCOPY);
}自动生成的mfc框架,只在上面部分做了修改想引入位图作为框体背景,但是提示错误error C2582: 'CBitmap' : 'operator =' function is unavailable,就是OnDraw函数里那句bitmap=(HBITMAP)LoadImage(NULL,"IDB_BACKGROUND.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);报错的,跪求大神指导啊
...全文
255 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2012-05-09
  • 打赏
  • 举报
回复
LoadImage()调用成功?
  • 打赏
  • 举报
回复
建议你用GDI+ 支持的格式较多
就叫我海 2012-05-09
  • 打赏
  • 举报
回复
static int i = 0;
if(i==0)
{
HBITMAP hbmp=(HBITMAP)LoadImage (NULL,"IDB_BACKGROUND.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
BEGIN.CreateCompatibleDC(pDC);
BEGIN.SelectObject(bitmap);
bitmap.Attach(hbmp);
BEGIN.CreateCompatibleDC(pDC);
BEGIN.SelectObject(bitmap);
i=1;
}
pDC->BitBlt(0,0,119,64,&BEGIN,0,0,SRCCOPY);
dahaiI0 2012-05-09
  • 打赏
  • 举报
回复
你这个图片是BMP吧,有没有导入到资源里呢?这个ID是不是导入后的bmp ID?
对于第一种方法加载bmp,路径对不对,看下LoadImage的返回值是不是0,把你加载的代码贴上来
对于第二种,如果bmp已经导入到资源里,直接这样
bitmap.LoadBitmap(IDB_BACKGROUND);
ly545333574 2012-05-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
LoadImage返回的HBITMAP
HBITMAP hBmp= (HBITMAP)LoadImage(NULL, m_csFilePath,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);

bitmap.Attach(hBmp);

我看你这个bitmap的路径貌似不对啊,要不你就这样
bitmap.LoadBitmap……
[/Quote]不报错了,但是在框体中显示不了图片额
运算符科技 2012-05-09
  • 打赏
  • 举报
回复
代码没看,不过导入位图失败,很有可能是因为你被后缀欺骗了。改后缀为jpg试试。
dahaiI0 2012-05-09
  • 打赏
  • 举报
回复
LoadImage返回的HBITMAP
HBITMAP hBmp= (HBITMAP)LoadImage(NULL, m_csFilePath,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);

bitmap.Attach(hBmp);

我看你这个bitmap的路径貌似不对啊,要不你就这样
bitmap.LoadBitmap(...);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧