现在的位置: 首页 > 综合 > 正文

Symbian中如何绘制背景图片问题

2013年09月07日 ⁄ 综合 ⁄ 共 1200字 ⁄ 字号 评论关闭

这个很久以前就会了,可是前些天在做东西的时候却只要生成SIS就报错,模拟器没有任何问题,编译正常,显示正常,愁煞我也啊

昨天终于把问题找出来了呵呵,现在吧测试通过的关键代码写上,以免以后再出相同问题呵呵。

 

.cpp 的Draw函数中

//////////////////////////////////////////////////////////////////////

 

TBuf<KMaxPath> pathMbm;
#ifdef __WINS__
 pathMbm.Copy(_L("z://resource//apps//MyTelePhoneInfo.mbm"));
#else
 CMyTelePhoneInfoAppUi* pApp = (CMyTelePhoneInfoAppUi*)CEikonEnv::Static()->AppUi();
 pApp->GetAppPath(pathMbm);
 pathMbm.Append(_L("MyTelePhoneInfo.mbm"));
#endif

 //加载图片
 CFbsBitmap* pBitmap = new (ELeave) CFbsBitmap();
 User::LeaveIfError(pBitmap->Load(pathMbm, EMbmMytelephoneinfoAsdfghjk));

 //绘制位图
 //TPoint(aRect.Width()/3,aRect.Height()/3);
 gc.BitBlt(TPoint(0,0), pBitmap);
 delete pBitmap;
 //const CFont* pFont =iEikonEnv->DenseFont();
 //gc.UseFont(pFont);

//////////////////////////////////////////////////////////////////////////////////////

 

UI中

////////////////////////////////////////////////////////////////////////

void CMyTelePhoneInfoAppUi::GetAppPath(TDes& aPath)
{
 TFileName appFullName;
 appFullName = Application()->AppFullName();
 TParsePtr parse(appFullName);
 aPath.Copy(parse.DriveAndPath().Mid(0,2));
 aPath.Append(_L("//resource//apps//"));
}

//////////////////////////////////////////////////////////////////////////

 

测试通过

上图

 

抱歉!评论已关闭.