📄 basecontrol.cpp
字号:
#include <aknutils.h>
#include "BaseControl.h"
_LIT(KGGBallMbm,"GGBall.mbm");
CBaseControl::CBaseControl(const TRect& aRect)
{
iRect=aRect;
iShow=ETrue;
}
CBaseControl::~CBaseControl()
{
delete iBackground;
delete iBmpBack;
delete iBmpBackMask;
delete iText;
}
void CBaseControl::ConstructL()
{
}
CBaseControl* CBaseControl::NewLC( const TRect& aRect )
{
CBaseControl* self=new(ELeave)CBaseControl(aRect);
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CBaseControl* CBaseControl::NewL( const TRect& aRect )
{
CBaseControl* self=CBaseControl::NewLC(aRect);
CleanupStack::Pop();
return self;
}
void CBaseControl::DrawText( CBitmapContext& gc,
CGraphicsContext::TTextAlign aAlign,
TInt aLeftMargin) const
{
DrawText(gc,*iText,aAlign,aLeftMargin);
}
void CBaseControl::DrawText( CBitmapContext& gc,const TDesC& aText,
CGraphicsContext::TTextAlign aAlign/*=CGraphicsContext::ELeft*/,
TInt aLeftMargin/*=0*/ ) const
{
CGraphicsTool::DrawText(gc,iFont,aText,iRect,aAlign,aLeftMargin);
}
void CBaseControl::SetText( TInt aResourceId )
{
iText = StringLoader::LoadL( aResourceId );
}
void CBaseControl::Draw( CBitmapContext & aGc ) const
{
if (iShow)
{
if (iBackground)
{
iBackground->Draw(aGc);
}
else
{
CGraphicsTool::DrawRect(aGc,iRect,TRgb(54,37,110),ETrue);
}
if (iText)
{
DrawText(aGc);
}
}
}
void CBaseControl::SetBackground( TInt aEnumBmpBack/*=-1*/,TInt aEnumBmpBackMask/*=-1*/ )
{
TFileName mbmFileName(KGGBallMbm);
CompleteWithAppPath(mbmFileName);//z
RDebug::Print(mbmFileName);
#ifdef __WINS__
_LIT(KC,"c");
mbmFileName.Replace(0,1,KC);
#endif
//iBmp = iEikonEnv->CreateBitmapL(mbmFileName, EMbmGgballBan01_m);
if (aEnumBmpBack>=0)
{
iBmpBack = new (ELeave) CFbsBitmap();
TInt loadRet=iBmpBack->Load(mbmFileName, aEnumBmpBack);//如果加载图片失败...,EMbmGgballBan01_m
if (loadRet!=KErrNone)
{
delete iBmpBackMask;
iBmpBackMask=NULL;
}
}
if (aEnumBmpBackMask>=0)
{
iBmpBack = new (ELeave) CFbsBitmap();
TInt loadRet=iBmpBack->Load(mbmFileName, aEnumBmpBackMask);
if (loadRet!=KErrNone)
{
delete iBmpBackMask;
iBmpBackMask=NULL;
}
}
iBackground=CTiledLayer::NewL(iBmpBack,iBmpBackMask);
}
TBool CBaseControl::Visible() const
{
return iShow;
}
void CBaseControl::Show()
{
iShow=ETrue;
}
void CBaseControl::Hide()
{
iShow=EFalse;
}
void CBaseControl::SetFont( const CFont* aFont )
{
iFont=aFont;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -