收藏
先说第一种,它只适用于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());