title.cpp

来自「一个symbian上成熟的小游戏源码」· C++ 代码 · 共 81 行

CPP
81
字号
// Title.cpp: implementation of the CTitle class.
//
//////////////////////////////////////////////////////////////////////

#include "Title.h"

CTitle::CTitle(const TRect& aRect ):CBaseControl(aRect)
{
	Show();
}

CTitle::~CTitle()
{
}

CTitle* CTitle::NewL( const TRect& aRect )
{
	CTitle* self=CTitle::NewLC(aRect);
	CleanupStack::Pop();
	return self;
}

CTitle* CTitle::NewLC( const TRect& aRect )
{
	CTitle* self=new(ELeave)CTitle(aRect);
	CleanupStack::PushL(self);
	self->ConstructL();
	return self;
}

void CTitle::ConstructL()
{
	CBaseControl::SetBackground(EMbmGgballBan01_m);

	TInt rectWidth=iRect.Width();
	TInt cellWidth=iBackground->CellWidth();
	TInt backCols=rectWidth/cellWidth;
	iBackground->SetRange(1,backCols,1);
	iBackground->SetPosition(0,0);
}

void CTitle::Draw(CBitmapContext& aGc)  const
{
	//画背景
	CBaseControl::Draw(aGc);
	//画标题文字
	DrawText(aGc);
	//画时间
	DrawTime(aGc);
}

void CTitle::DrawTime( CBitmapContext & aGc ) const
{
	TTime nowTime;
	nowTime.HomeTime();
	TDateTime nowDateTime = nowTime.DateTime();	
	TInt hour = nowDateTime.Hour();
	TInt minute = nowDateTime.Minute();
	TInt second = nowDateTime.Second();
	
	TBuf<25> buf;
	if ( 0 <= hour && hour <= 9)
	{
		buf.Append(_L("0"));
	}
	buf.AppendFormat(_L("%d:"), hour);
	
	if ( 0 <= minute && minute <= 9)
	{
		buf.Append(_L("0"));
	}
	buf.AppendFormat(_L("%d:"), minute);

	if ( 0 <= second && second <= 9)
	{
		buf.Append(_L("0"));
	}
	buf.AppendFormat(_L("%d"), second);

	CGraphicsTool::DrawText(aGc,iFont,buf,iRect,CGraphicsContext::ERight);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?