首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

EraseBkgnd加载图片//求解解决方法

2013-02-25 
EraseBkgnd加载图片//求解CDC* pWndDCCBitmap bmpBackCBitmap* COldBit此函数先被调用!!!void GDIxTool

EraseBkgnd加载图片//求解
CDC* pWndDC;
CBitmap bmpBack;
CBitmap* COldBit;


此函数先被调用!!!
void GDIxToolBar::SetImageEx(Image* BK,Image* FG)
{       //mainframe的OnCreate函数里使用
pWndDC = GetDC();
CRect BKRect; 
GetClientRect(&BKRect); 

bmpBack.CreateCompatibleBitmap(pWndDC,BKRect.Width(),BKRect.Height());
COldBit = pWndDC->SelectObject(&bmpBack);
pWndDC->FillSolidRect(&BKRect,RGB(255,0,255));
}




  BOOL GDIxToolBar::OnEraseBkgnd(CDC* pDC)
{
//加不上啊
CRect rect;
GetClientRect(&rect);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),pWndDC,0,0,SRCCOPY);

return 1;//CToolBar::OnEraseBkgnd(pDC);//
}



[解决办法]
你要达到什么样的效果呢?你上面的代码又出了什么问题呢?
[解决办法]

下面代码运行到pWndDC->CreateCompatibleDC(pDC);报错呢HDC为空!!!
void GDIxToolBar::SetImageEx(Image* BK,Image* FG)
{
CDC* pDC = GetDC();
CRect BKRect; 
GetClientRect(&BKRect); 
bmpBack.CreateCompatibleBitmap(pDC,BKRect.Width(),BKRect.Height());
pWndDC->CreateCompatibleDC(pDC);
pWndDC->SelectObject(bmpBack);
COldBit = pWndDC->SelectObject(&bmpBack);
pWndDC->FillSolidRect(&BKRect,RGB(255,0,255));
ReleaseDC(pDC);
}


引用:
你要达到什么样的效果呢?你上面的代码又出了什么问题呢?

热点排行