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