Symbian改变默认背景,默认字体颜色(转载)

来源:互联网 发布:常州一名网络女主播 编辑:程序博客网 时间:2024/06/06 02:55

Symbian改变默认背景,默认字体颜色

 

转载自:http://panccp.blog.163.com/blog/static/2655604420101022565411/

Symbian 2010-11-02 14:59:36 阅读85 评论0   字号: 订阅

在ConstructL中添加以代码便OK了

    HBufC* strFilePath = StringLoader::LoadLC(R_RES_FILE_PATH);

 //strFilePath 为:mbm的存放路径。如:RESOURCE TBUF r_res_file_path {buf="//resource//apps//Test//Test_Res.mbm";}

    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
    CAknsItemData* item = skin->GetCachedItemData(KAknsIIDQsnBgAreaMainListGene);
    if(item==NULL)
 {
        item = skin->CreateUncachedItemDataL(KAknsIIDQsnBgAreaMainListGene);
 }
    if(item->Type()==EAknsITMaskedBitmap)
 {
        CAknsItemDef* def = AknsUtils::CreateMaskedBitmapItemDefL(KAknsIIDQsnBgAreaMainListGene, *strFilePath, EMbmSycrm_resBg, EMbmSycrm_resBg_mask);
        skin->SetLocalItemDefL(def);
 }
    else
 {
        CAknsItemDef* def = AknsUtils::CreateBitmapItemDefL(KAknsIIDQsnBgAreaMainListGene, *strFilePath, EMbmSycrm_resBg);
        skin->SetLocalItemDefL(def);
 }
    CleanupStack::PopAndDestroy(strFilePath);

 

    // 字体颜色
 CAknsColorTableItemData* colorTable =
   static_cast<CAknsColorTableItemData*>(skin->
     GetCachedItemData(KAknsIIDQsnTextColors, EAknsITColorTable));
 TUint64 colors[58];
 
 // 所有的设为KRgbWhite;
 for (TInt i=0; i<58; ++i)
 {
  colors[i] = KRgbWhite.Value();
  colors[i] *= 0x100;
  colors[i] += 0xFF;
  colors[i] *= 0x1000000;
 }
 // 个别处理
 colors[EAknsCIQsnTextColorsCG26] = KRgbBlack.Value();
 colors[EAknsCIQsnTextColorsCG26] *= 0x100;
 colors[EAknsCIQsnTextColorsCG26] += 0xFF;
 colors[EAknsCIQsnTextColorsCG26] *= 0x1000000;
  
 colors[EAknsCIQsnTextColorsCG6] = KRgbWhite.Value();
 colors[EAknsCIQsnTextColorsCG6] *= 0x100;
 colors[EAknsCIQsnTextColorsCG6] += 0xFF;
 colors[EAknsCIQsnTextColorsCG6] *= 0x1000000;

 colors[EAknsCIQsnTextColorsCG10] = KRgbBlack.Value();
 colors[EAknsCIQsnTextColorsCG10] *= 0x100;
 colors[EAknsCIQsnTextColorsCG10] += 0xFF;
 colors[EAknsCIQsnTextColorsCG10] *= 0x1000000;
 
// colors[EAknsCIQsnTextColorsCG19] = KRgbBlack.Value();
// colors[EAknsCIQsnTextColorsCG19] *= 0x100;
// colors[EAknsCIQsnTextColorsCG19] += 0xFF;
// colors[EAknsCIQsnTextColorsCG19] *= 0x1000000;
 //set
 colorTable->SetColorsL(60, (const TAknsColorTableEntry*)colors);

 

备注:

系统按键栏
KAknsIIDQsnBgAreaControl
弹出提示框(包括菜单)
KAknsIIDQsnFrPopup // 提示区域
KAknsIIDQsnBgAreaControlPopup // 按键区域
设置列表
KAknsIIDQsnFrList // 焦点
KAknsIIDQsnFrSetOptFoc // 输入框
KAknsIIDQsnFrInput // 编辑框

原创粉丝点击