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);
}