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());

猜你喜欢

转载自blog.csdn.net/dymx101/article/details/6562191