获取固定大小的字体:

void CTestView::Draw( const TRect& /**//*aRect*/ ) const
...{
// Get the standard graphics context
CWindowGc& gc = SystemGc();
// Gets the control's extent
TRect drawRect( Rect());
// Clears the screen
gc.Clear( drawRect );
TInt baseH=0;
TInt incH=10;
TInt x=0;
const CFont* myFont=NULL;
//--------------------------拉丁字体
myFont=LatinPlain12();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("LatinPlain12 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=LatinBold12();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
//gc.DrawText(_L("LatinBold12 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DrawText(_L("LatinBold12"),TPoint(x,baseH));
gc.DiscardFont();
myFont=LatinBold13();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
//gc.DrawText(_L("LatinBold13 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DrawText(_L("LatinBold13"),TPoint(x,baseH));
gc.DiscardFont();
myFont=LatinBold16();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
//gc.DrawText(_L("LatinBold16 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DrawText(_L("LatinBold16"),TPoint(x,baseH));
gc.DiscardFont();
myFont=LatinBold17();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("LatinBold17 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=LatinBold19();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("LatinBold19 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=NumberPlain5();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("1234567890"),TPoint(x,baseH));
gc.DiscardFont();
myFont=ClockBold30();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("ClockBold30 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=LatinClock14();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("LatinClock14 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
//---------------------中文字体
myFont=ApacPlain16();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
// gc.DrawText(_L("ApacPlain16 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DrawText(_L("ApacPlain16"),TPoint(x,baseH));
gc.DiscardFont();
myFont=ApacPlain12();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
// gc.DrawText(_L("ApacPlain12 g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DrawText(_L("ApacPlain12"),TPoint(x,baseH));
gc.DiscardFont();
}
void CTest2View::Draw( const TRect& /**//*aRect*/ ) const
...{
// Get the standard graphics context
CWindowGc& gc = SystemGc();
// Gets the control's extent
TRect drawRect( Rect());
// Clears the screen
gc.Clear( drawRect );
TInt baseH=0;
TInt incH=10;
TInt x=0;
const CFont* myFont=NULL;
myFont=CEikonEnv::Static()->TitleFont();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels() +1;
gc.DrawText(_L("TitleFont g1DY16"),TPoint(x,baseH));
gc.DiscardFont();

myFont=CEikonEnv::Static()->NormalFont();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("NormalFont g1DY16Y27"),TPoint(x,baseH));
gc.DiscardFont();
myFont=CEikonEnv::Static()->AnnotationFont();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("AnnotationFont g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=CEikonEnv::Static()->LegendFont();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("LegendFont g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=CEikonEnv::Static()->SymbolFont();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("SymbolFont g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
myFont=CEikonEnv::Static()->DenseFont();
gc.UseFont( myFont );
baseH+=myFont->HeightInPixels()+1;
gc.DrawText(_L("DenseFont g1DY16Y27ˆ57"),TPoint(x,baseH));
gc.DiscardFont();
}
本文介绍了如何在视图中使用不同固定大小和固定比例的字体进行文本绘制。包括拉丁字体系列、中文字体系列及系统提供的标准字体,如标题字体、正常字体等,并展示了如何获取字体高度并定位绘制。
1730

被折叠的 条评论
为什么被折叠?



