您的位置:首页 > 其它

Symbian设置CEikEdwin字体

2009-12-15 15:21 295 查看
Symbian设置CEikEdwin字体

先说第一种,它只适用于2nd

TCharFormat charFormat;
Mem::FillZ(&charFormat, sizeof (TCharFormat));
TCharFormatMask charMask;
Mem::FillZ(&charMask, sizeof (TCharFormatMask));
TFontSpec sFontSpec = PocoUtils::NormalFont()->FontSpecInTwips();
charFormat.iFontSpec.iTypeface = sFontSpec.iTypeface;
charMask.SetAttrib(EAttFontTypeface);
charFormat.iFontSpec.iHeight = sFontSpec.iHeight;
charMask.SetAttrib(EAttFontHeight);
charFormat.iFontPresentation.iTextColor = KDarkGreenColour;
charMask.SetAttrib(EAttColor);
charFormat.iFontPresentation.iStrikethrough = (TFontStrikethrough)EFalse;
charMask.SetAttrib(EAttFontStrikethrough);
charFormat.iFontPresentation.iUnderline = (TFontUnderline)EFalse;
charMask.SetAttrib(EAttFontUnderline);

CCharFormatLayer* FormatLayer1 = CCharFormatLayer::NewL(charFormat,charMask);
iTitle->SetCharFormatLayer(FormatLayer1);
再来介绍第二种,它使用于2nd和3rd

CFont* font=NULL;
#ifdef _UIQ3_SDK_
TFontSpec fontSpec=CEikonEnv::Static()->NormalFont()->FontSpecInTwips();
fontSpec.iHeight-=fontSpec.iHeight/4;
fontSpec.iFontStyle.SetPosture(EPostureUpright);
CEikonEnv::Static()->ScreenDevice()->GetNearestFontInTwips(font,fontSpec);
#else
font=CEikonEnv::Static()->NormalFont();
#endif
CGlobalText* globalText = (CGlobalText*)edwin->Text();
TCharFormat charFormat;
Mem::FillZ(&charFormat, sizeof (TCharFormat));
TCharFormatMask charMask;
Mem::FillZ(&charMask, sizeof (TCharFormatMask));
TFontSpec sFontSpec = font->FontSpecInTwips();
charFormat.iFontSpec.iTypeface = sFontSpec.iTypeface;
charMask.SetAttrib(EAttFontTypeface);
charFormat.iFontSpec.iHeight = sFontSpec.iHeight;
charMask.SetAttrib(EAttFontHeight);
charFormat.iFontPresentation.iTextColor = KDarkGreenColour;
charMask.SetAttrib(EAttColor);
globalText->ApplyCharFormatL(charFormat,charMask,0,edwin->TextLength());



ZT:http://hi.baidu.com/peng1987629/blog/item/a2271d1b59bd01f3ae51331a.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: