双缓冲不好用,请各位大侠帮忙
我把文字首先描画到双缓冲的屏外位图上,然后再将该位图描画到屏幕上,但是屏幕上显示一片空白,不知道是怎么回事,以下是我的代码,请各位帮帮忙,谢谢!!
CFbsBitmap* iOffScrnBmp;
CFbsBitmapDevice* iOffScrnBmpDevice;
CFbsBitGc* iOffScrnContext;
iOffScrnBmp = new (ELeave) CFbsBitmap;
User::LeaveIfError(iOffScrnBmp->Create(Size(), EColor4K));
iOffScrnBmpDevice = CFbsBitmapDevice::NewL(iOffScrnBmp);
User::LeaveIfError(iOffScrnBmpDevice->CreateContext(iOffScrnContext));
void MyContainer::Draw(const TRect& aRect) const
{
//clear buffer
iOffScrnContext->Clear(Rect());
//draw something in the buffer
iOffScrnContext->SetPenStyle(CGraphicsContext::ESolidPen);
iOffScrnContext->SetPenColor(TRgb(0x266D03));
iOffScrnContext->UseFont(CEikonEnv::Static()->SymbolFont());
iOffScrnContext->DrawText(_L("we had joy we had fun we had seasons in the sun"));
iOffScrnContext->DiscardFont();
//draw bitmap to screen
iOffScrnContext->BitBlt(TPoint(0, 0), iOffScrnBmp);
}