通常我们在绘制文字时都是使用CEikonEnv提供的NormalFont(),AnnotationFont(),TitleFont()等字体,有的情况需要调整字体的大小,下面的代码演示了如何设置字体大小的方法:
void CEditorList3Col::Draw(const TRect& aRect) const
{
CWindowGc& gc = SystemGc();
gc.Clear( aRect );
CFont *font = NULL;
//获取字体信息
TFontSpec fontSpec = iEikonEnv->LegendFont()->FontSpecInTwips();
fontSpec.iHeight -= fontSpec.iHeight / 6; //更改字体大小
iCoeEnv->ScreenDevice()->GetNearestFontInTwips( font, fontSpec ); //根据设置的字体信息获取合适的字体
gc.UseFont( font );
//Draw text operation
..................................
gc.DiscardFont();
iCoeEnv->ScreenDevice()->ReleaseFont( font ); //记住要调用ReleaseFont()释放字体资源.
}
说明:
由于Series60 3rd上与2nd上使用的字体形式可能不同,上面的代码可能在Series60 2nd上没有效果.