双缓冲不好用,请各位大侠帮忙

kg200704 2008-04-20 11:45:46
我把文字首先描画到双缓冲的屏外位图上,然后再将该位图描画到屏幕上,但是屏幕上显示一片空白,不知道是怎么回事,以下是我的代码,请各位帮帮忙,谢谢!!

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);
}
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
什么呀
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
关注 接分
kg200704 2008-04-21
  • 打赏
  • 举报
回复
还是有问题,画不上去。不过还是要谢谢楼上的指点。
Atoric 2008-04-21
  • 打赏
  • 举报
回复
好像,你的Bitblt不是在屏幕上绘图,而是在离屏环境下绘图吧
Atoric 2008-04-21
  • 打赏
  • 举报
回复
Try
iFbsBitGc = CFbsBitGc::NewL(); //graphic context
iBmpDevice = CFbsBitmapDevice::NewL(iOffScreenBitmap);
iFbsBitGc->Activate(iBmpDevice);
iFbsBitGc->SetBrushColor( KRgbBlack );
iFbsBitGc->Clear();
lspo816 2008-04-20
  • 打赏
  • 举报
回复
http://discussion.forum.nokia.com/forum/showthread.php?t=85386

Hope this can help

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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